Единственное (эффективное) решение, о котором я могу подумать, - это копия исходного массива.
import numpy as np
a = np.array([[4,9,2],[5,1,3]])
idx = np.argsort(a[1])
Таким образом, idx
является индексом отсортированного столбца .
c = a.copy()
for i in range(len(idx)):
a[:,i] = c[:,idx[i]]
Это должно быть достаточно быстро, но, конечно, тратитьнемного памяти.