小编典典

重新排列4D Numpy数组

python

我有一个4d numpy数组,该数组代表具有3d实例的数据集。可以说数组的形状是(32, 32, 3, 73257)

如何将数组的形状更改为(73257, 32, 32, 3)

-–问题更新似乎rollaxis和transpose都能解决问题。

感谢您的回复!


阅读 197

收藏
2021-01-20

共1个答案

小编典典

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))

还给出了所需形状的数组,但与前一个数组不同。

2021-01-20