我有一个尺寸为96x96x3x1000的4-D Numpy数组 - 这些数据对应于我导入的图像数据集:每个像素为96X96像素和每个像素的RGB值。
但是,我需要为每个图像迭代平顶数组,即。只有2-D阵列[1000] [96 * 96 * 3]。我设法通过先做
来转换给定的数组 a.reshape(-1,a.size[3])
然后使用循环将每列分配给图像。我想问一下是否有更简单的/切片方法来交换ndarrays的排序?
由于
答案 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)