Я предлагаю использовать необычную индексацию numpy.
>>> import numpy as np
>>> a = np.array([[4,1,3,6,2], [9,4,1,3,6]])
>>> cols = [2,0,4,3,1]
>>> a.T[cols].T
>>>
array([[3, 4, 2, 6, 1],
[1, 9, 6, 3, 4]])
Подробности:
>>> a
array([[4, 1, 3, 6, 2],
[9, 4, 1, 3, 6]])
>>> a.T
array([[4, 9],
[1, 4],
[3, 1],
[6, 3],
[2, 6]])
>>> a.T[cols]
array([[3, 1],
[4, 9],
[2, 6],
[6, 3],
[1, 4]])
>>> a.T[cols].T
array([[3, 4, 2, 6, 1],
[1, 9, 6, 3, 4]])