Python/Numpy:将 N4xN3xN2xN1 4D 数组重新排列为 (N4.N2)x(N3.N1) 2D 数组

Python/Numpy: rearrange N4xN3xN2xN1 4D array into an (N4.N2)x(N3.N1) 2D array

例如,如果:

a = numpy.array([[[[1,2],[3,4]],[[5,6],[7,8]]],[[[11,12],[13,14]],[[15,16],[17,18]]]])

那我想最终得到:

1  2  5  6
3  4  7  8
11 12 15 16
13 14 17 18

不幸的是,简单的重塑是行不通的。

你需要先交换第二个和第三个轴,然后再整形:

>>> a.swapaxes(1, 2).reshape(4, 4)
array([[ 1,  2,  5,  6],
       [ 3,  4,  7,  8],
       [11, 12, 15, 16],
       [13, 14, 17, 18]])