import numpy as np
a = np.array([[1,2],
[3,4],
[5,6],
[7,8],
[9,10],
[11,12]])
print np.shape(a)
预期的答案应该是:
answer = np.array([[1,2,7,8],
[3,4, 9, 10],
[5,6, 11, 12]])
我尝试过
ans = a.reshape(3,-1)
print ans
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
但是答案是错误的。怎么做?
最佳答案
您可以使用一些轴的 reshape 和交换,就像这样 -
L = 3 # Cutting length
out = a.reshape(-1,L,a.shape[1]).swapaxes(0,1).reshape(L,-1)
或者使用np.transpose
来交换轴,就像这样 -
out = a.reshape(-1,L,a.shape[1]).transpose(1,0,2).reshape(L,-1)
关于python - 重新排列 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36943700/