Python 重排列numpy阵列

Python 重排列numpy阵列,python,numpy,Python,Numpy,预期的答案应该是: 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],

预期的答案应该是:

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]]
L = 3 # Cutting length
out = a.reshape(-1,L,a.shape[1]).swapaxes(0,1).reshape(L,-1)
或者使用
np.transpose
交换轴,如下所示-

ans = a.reshape(3,-1)    
print ans

[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]]
L = 3 # Cutting length
out = a.reshape(-1,L,a.shape[1]).swapaxes(0,1).reshape(L,-1)

对于此操作,我将使用
split

out = a.reshape(-1,L,a.shape[1]).transpose(1,0,2).reshape(L,-1)