我有一个三维矩阵
我想将以下内容作为行返回,但行的顺序并不重要:
X
,其中包含向量作为第三个维度的行。我想提取每个这样的向量X(:,x,y)
并将其保存为2D矩阵,使得X(:,0,0)
是2D矩阵的第一行,X(:,0,1)
第二行,以此类推。以下简单的图形可能有助于说明:
我知道我可以创建新的2D矩阵,然后迭代原始的X
来添加向量,但是否有人对如何快速高效地执行此操作有所了解?
例如:给定
>>> a = np.arange(9*3).reshape(3,3,3)
>>> a
array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]])
我想将以下内容作为行返回,但行的顺序并不重要:
array([[ 0, 9, 18],
[ 1, 10, 19]],
...)
X.transpose(1,2,0).reshape(-1,X.shape[0])
适用于任何列更大的数组X
? - wondim