1代码行中的3D到2D数组

时间:2016-06-05 18:38:21

标签: python-3.x multidimensional-array

我有一个3D数组:25x30000x139 我希望它像这样2D:

  (SSSSSSS, 25)  --SSSSSS is a number--

这是我的代码:

  y = x3D.swapaxes(0,2)             
  z = y.swapaxes(1,2)               
  x2D = np.reshape(z.shape[1],-1)   

这些是输出:

   (25, 30000, 139)
   (139, 25, 30000)
   (1, )

我做错了什么?为什么我没有得到(SSSSSS,25)数组? 有没有办法在一行中做到这一点? 我试过了:

    x2D = np.swapaxes((np.swapaxes(x3D,0,2),1,2).reshape(x3D.shape[1],-1)

1 个答案:

答案 0 :(得分:0)

代码:

    np.swapaxes(x3D.swapaxes(0, 1).reshape(x3D.shape[0], -1), 0,1)

从3D:(25,30000,139)

到2D:(4170000,25)

一行!!!! :)