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)