np.resize(a3, size[::-1])解析,注意与a3.resize(size[::-1])的区别

a3 = np.random.normal(2, 6, (3, 2, 2))
e3 = a3[:, :, None]
注意这里的形状,将第三维设为空,尺寸为1,原来的
第三维自动向后,变为了第四维,所以e3的形状为(3,2,1,2)
size = (4, 5)
b3 = np.resize(a3, size[::-1])
不够的话,循环复制;而a3.resize是一遍到头之后,补零。
这已经不是原位操作了,a3没有变化,b3也有了值
print(a3, a3.shape)
print(b3, b3.shape)
print(e3, e3.shape)
[[[  9.59198788  -5.40745414]
  [ 15.43521862   3.2796268 ]]
 [[-12.90615907  -0.95733118]
  [  6.41554284   5.10235366]]
 [[  3.30600334   1.76952618]
  [ -9.2141737    8.30967638]]] (3, 2, 2)
[[  9.59198788  -5.40745414  15.43521862   3.2796268 ]
 [-12.90615907  -0.95733118   6.41554284   5.10235366]
 [  3.30600334   1.76952618  -9.2141737    8.30967638]
 [  9.59198788  -5.40745414  15.43521862   3.2796268 ]
 [-12.90615907  -0.95733118   6.41554284   5.10235366]] (5, 4)
[[[[  9.59198788  -5.40745414]]
  [[ 15.43521862   3.2796268 ]]]
 [[[-12.90615907  -0.95733118]]
  [[  6.41554284   5.10235366]]]
 [[[  3.30600334   1.76952618]]
  [[ -9.2141737    8.30967638]]]] (3, 2, 1, 2)

你可能感兴趣的:(np.resize(a3, size[::-1])解析,注意与a3.resize(size[::-1])的区别)