4-D Numpy阵列的交换顺序

时间:2015-03-25 14:20:35

标签: python numpy

我有一个尺寸为96x96x3x1000的4-D Numpy数组 - 这些数据对应于我导入的图像数据集:每个像素为96X96像素和每个像素的RGB值。

但是,我需要为每个图像迭代平顶数组,即。只有2-D阵列[1000] [96 * 96 * 3]。我设法通过先做

来转换给定的数组
    a.reshape(-1,a.size[3])

然后使用循环将每列分配给图像。我想问一下是否有更简单的/切片方法来交换ndarrays的排序?

由于

1 个答案:

答案 0 :(得分:2)

您可以使用numpy.swapaxes

更改轴的顺序
a.reshape(-1,1000).swapaxes(0,1)

或简单地转置它

a.reshape(-1,1000).T

您还可以使用numpy.transpose更改开头的顺序,然后应用reshape

a.transpose([3,0,1,2]).reshape(1000,-1)