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。