我有一个4d numpy数组,该数组代表具有3d实例的数据集。可以说数组的形状是(32, 32, 3, 73257)。
(32, 32, 3, 73257)
如何将数组的形状更改为(73257, 32, 32, 3)?
(73257, 32, 32, 3)
-–问题更新似乎rollaxis和transpose都能解决问题。
感谢您的回复!
该np.transpose函数完全可以实现您想要的功能,您可以传递轴参数来控制要交换的轴:
np.transpose
a = np.empty((32, 32, 3, 73257)) b = np.transpose(a, (3, 0, 1, 2))
b的轴是a的轴的置换版本:b的轴0是a的第3轴,b的轴1是a的第0轴,依此类推…
这样,您可以在第二或第三位指定要使用哪个尺寸为32的轴:
b = np.transpose(a, (3, 1, 0, 2))
还给出了所需形状的数组,但与前一个数组不同。