1.概念:根据英文,可以简单理解为扩展数组的shape。
2.理解:shape如何改变?数组内如何改变?
- import numpy as np
- a = np.array([[[1,2,3],[4,5,6]]])
- print(a.shape)
-
- 输出:
- (1,2,3) # 1维,2行,3列
-
- # 元组的形状代表什么?
- # 每个索引处的整数表明相应维度拥有的元素数量。
2.1 shape如何改变?
- import numpy as np
- a = np.array([[[1,2,3],[4,5,6]]])
- print(a.shape)
- #输出:(1,2,3)
- # 1维 2行 3列
-
- ######################################################
- b = np.expand_dim(a, axis = 0)
- print(b.shape)
- #输出:(1,1,2,3)
- # ⚪
- # 在0位置添加数据
-
-
- ######################################################
- b = np.expand_dim(a, axis = 1)
- print(b.shape)
- #输出:(1,1,2,3)
- # ⚪
- # 在1位置添加数据
-
- ######################################################
- b = np.expand_dim(a, axis = 2)
- print(b.shape)
- #输出:(1,2,1,3)
- # ⚪
- # 在2位置添加数据
-
- ######################################################
- b = np.expand_dim(a, axis = 3)
- print(b.shape)
- #输出:(1,2,3,1)
- # ⚪
- # 在3位置添加数据
-
- ######################################################
- b = np.expand_dim(a, axis = -1)
- print(b.shape)
- #输出:(1,2,3,1)
- # ⚪
- # 在最后位置添加数据
-
- # 在(1,2,3)中插入的位置总共为4个,再添加就会出现警告,要不然也会在后面某一处提示AxisError。
-
2.2 数组内如何改变?
- import numpy as np
- a = np.array([[[1,2,3],[4,5,6]]])
- print(a.shape)
- #输出:(1,2,3)
- # 1维 2行 3列
-
- ######################################################
- b = np.expand_dim(a, axis = 0)
- print b
- #输出:[ [[[1,2,3],[4,5,6]]] ]
- # · ·
- # 中括号就会加在最前面的值,生成一个 [a]
-
-
- ######################################################
- b = np.expand_dim(a, axis = 1)
- print b
- #输出:[[ [ [1,2,3] ],[ [4,5,6] ] ]]
- # · · · ·
- # 中括号就会加在第二个(最后)的每个值上
-
- ######################################################
- b = np.expand_dim(a, axis = 2)
- print b
- #输出:[[ [ [1,2,3] ], [ [4,5,6] ]]]
- # · · · ·
- # 中括号就会加在第三个(最后)的每个值上
-
- ######################################################
- b = np.expand_dim(a, axis = 3)
- print b
- #输出:[[[ [1],[2],[3] ],[ [4],[5],[6] ]]]
- # · · · · · ·
- # 中括号就会加在第四个(最后)的每个值上,(也就是给所有数字都加了一个中括号)
-
- ######################################################
- b = np.expand_dim(a, axis = -1)
- print b
- #输出:[[[ [1],[2],[3] ],[ [4],[5],[6] ]]]
- # · · · · · ·
- # 中括号就会加在第四个(最后)的每个值上,(也就是给所有数字都加了一个中括号)
-
- # 在(1,2,3)中插入的位置总共为4个,再添加就会出现警告,要不然也会在后面某一处提示AxisError。