如何重塑具有不同尺寸的3D阵列?

时间:2019-05-29 16:10:02

标签: python python-3.x numpy

我有一个numpy数组:

y = np.array([[[14,15,16],[24,25,26],[34,35,36],[44,45,46]],
        [[11,21,31],[12,22,32],[13,23,33],[14,24,34]]])

y的形状为(2,4,3) 我想像这样将其重塑为(4,3,2)

[[[14,11],[15,21],[16,31]],
 [[24,12],[25,22],[26,32]],
 [[34,13],[35,23],[36,33]],
 [[44,14],[45,24],[46,34]]]

我尝试使用y.reshape(4,3,2)),但结果不是我想要的。

1 个答案:

答案 0 :(得分:1)

您可以使用numpy.moveaxis()

y = np.moveaxis(y,0,2)

您会得到:

array([[[14, 11],
        [15, 21],
        [16, 31]],

       [[24, 12],
        [25, 22],
        [26, 32]],

       [[34, 13],
        [35, 23],
        [36, 33]],

       [[44, 14],
        [45, 24],
        [46, 34]]])