Python 按最外层索引将三维阵列Numpy为二维阵列
我有一个二维数组,比如Python 按最外层索引将三维阵列Numpy为二维阵列,python,arrays,numpy,Python,Arrays,Numpy,我有一个二维数组,比如 +------+ +------+ | | | | | A | | B | | | | | +------+ +------+ 我想“删除”最外面的括号,比如 +------+------+ | | | | A | B | | | | +------+------+ 比如我有 [[[1,1,1],[2,2,2]],[[3,3,3],[4
+------+ +------+
| | | |
| 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,31000)变成(37000)
如何操作?一种方法是在第一个轴和第二个轴之间交换轴,然后重塑以合并最后两个轴-
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]])