多个3D阵列到一个2D阵列

时间:2016-06-03 19:03:15

标签: numpy multidimensional-array

我在不同的文件中有很多3D数组。我想将它们变成2D数组,然后将它们连接成1个数组。 我设法获得2D数组,但不是格式。 例如: 原始3D数组(4x2x2):

    [[[ 0  1]
      [ 2  3]]

     [[ 4  5]
      [ 6  7]]

     [[ 8  9]
      [10 11]]

     [[12 13]
      [14 15]]]

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

    [[0 1 4 5  8  9 12 13]
     [2 3 6 7 10 11 14 15]]

这是我的代码:

    import numpy as np
    x=np.arange(16).reshape((4,2,2)) #Depth, Row, Column
    y=x.reshape((x.shape[1], -1), order='F')

如果有更好的方法,请随时改进我的代码。

1 个答案:

答案 0 :(得分:3)

您可以使用np.swapaxes交换前两个轴然后重新塑造,就像这样 -

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