Remodelando a Matriz Numpy 3D para uma matriz 2D

Eu tenho a seguinte matriz 3D no Numpy:

a = np.array([[[1,2],[3,4]], [[5,6],[7,8]], [[9,10],[11,12]],[[13,14],[15,16]]])

quando eu escrevo

b = np.reshape(a, [4,4])

A matriz resultante 2D será semelhante a

 [[ 1  2  3  4]
  [ 5  6  7  8]
  [ 9 10 11 12]
  [13 14 15 16]]

No entanto, eu quero que esteja nesta forma:

 [[ 1  2  5  6]
  [ 3  4  7  8]
  [ 9 10 13 14]
  [11 12 15 16]]

Como posso fazer isso de forma eficiente em Python / Numpy?

questionAnswers(2)

yourAnswerToTheQuestion