重新排列4D Numpy数组

发布于 2021-01-29 15:01:51

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

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

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

感谢您的回复!

关注者
0
被浏览
100
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看