【Python】np.expand_dims()理解及实践

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如何改变?

  • np.expand_dims(a, axis =  0 )   #在0位置添加数据
  • np.expand_dims(a, axis =  1 )   #在1位置添加数据
  • np.expand_dims(a, axis =  2 )   #在2位置添加数据
  • np.expand_dims(a, axis =  3 )   #在3位置添加数据
  • np.expand_dims(a, axis = -1 )   #在末位置添加数据
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 数组内如何改变?

  • np.expand_dims(a, axis =  0 )   #中括号就会加在最前面的值,生成一个 [a]
  • np.expand_dims(a, axis =  1 )   #中括号就会加在第1个(最后)的每个值上
  • np.expand_dims(a, axis =  2 )   #中括号就会加在第2个(最后)的每个值上
  • np.expand_dims(a, axis =  3 )   #中括号就会加在第3个(最后)的每个值上
  • np.expand_dims(a, axis = -1 )   #中括号就会加在第3个(最后)的每个值上
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。

你可能感兴趣的:(numpy)