我有一个形状为(M*N,N)
的二维数组,实际上由M
个N*N
数组组成。我想以向量化的方式转置所有这些元素(N*N
矩阵)。例如,
import numpy as np
A=np.arange(1,28).reshape((9,3))
print "A before transposing:\n", A
for i in range(3):
A[i*3:(i+1)*3,:]=A[i*3:(i+1)*3,:].T
print "A after transposing:\n", A
这段代码会生成以下输出:
A before transposing:
[[ 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 27]]
A after transposing:
[[ 1 4 7]
[ 2 5 8]
[ 3 6 9]
[10 13 16]
[11 14 17]
[12 15 18]
[19 22 25]
[20 23 26]
[21 24 27]]
我知道。但我想要矢量化版本。
for
循环(而是使用numpy方法来操作numpy数组)。 - Cupitor