2017-03-27 68 views
1

我具有2D阵列的像numpy的三维阵列以二维数组由最外侧索引

+------+ +------+ 
|  | |  | 
| A | | B | 
|  | |  | 
+------+ +------+ 

阵列,我想“删除”最外括号,如在得到

+------+------+ 
|  |  | 
| A | B | 
|  |  | 
+------+------+ 

为例如,我有

[[[1,1,1],[2,2,2]],[[3,3,3],[4,4,4]]] 

,我想

[[1,1,1,3,3,3],[2,2,2,4,4,4]] 

换句话说,我需要通过附加的那些7链

如何去它来使形状(7,3,1000)的阵列到(3,7000)?与第一和第二个之间,然后轴的交换

回答

2

一种方法重塑最后两轴合并 -

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

采样运行 -

In [9]: arr = np.array([[[1,1,1],[2,2,2]],[[3,3,3],[4,4,4]]]) 

In [10]: arr.swapaxes(0,1).reshape(arr.shape[1],-1) 
Out[10]: 
array([[1, 1, 1, 3, 3, 3], 
     [2, 2, 2, 4, 4, 4]])