Numpy 将多个三维阵列转换为一个二维阵列

Numpy 将多个三维阵列转换为一个二维阵列,numpy,multidimensional-array,Numpy,Multidimensional Array,我在不同的文件中有许多3D阵列。我想将它们转换为二维数组,然后将它们合并为一个数组。 我设法得到了2D数组,但没有得到格式。 前任: 原始三维阵列(4x2x2x2): 我希望它成为2D(2x8): 这是我的代码: import numpy as np x=np.arange(16).reshape((4,2,2)) #Depth, Row, Column y=x.reshape((x.shape[1], -1), order='F') 如果有更好的方法,请随时改进我的代

我在不同的文件中有许多3D阵列。我想将它们转换为二维数组,然后将它们合并为一个数组。 我设法得到了2D数组,但没有得到格式。 前任: 原始三维阵列(4x2x2x2):

我希望它成为2D(2x8):

这是我的代码:

    import numpy as np
    x=np.arange(16).reshape((4,2,2)) #Depth, Row, Column
    y=x.reshape((x.shape[1], -1), order='F')
如果有更好的方法,请随时改进我的代码。

您可以使用交换前两个轴,然后重新塑造形状,如下所示-

y = x.swapaxes(0,1).reshape(x.shape[1],-1)

非常感谢。太棒了。:)
    import numpy as np
    x=np.arange(16).reshape((4,2,2)) #Depth, Row, Column
    y=x.reshape((x.shape[1], -1), order='F')
y = x.swapaxes(0,1).reshape(x.shape[1],-1)