ind = np.argsort(x, axis=0) # sorts along first axis (down) ind array([[0, 1], [1, 0]]) np.take_along_axis(x, ind, axis=0) # same as np.sort(x, axis=0) array([[0, 2], [2, 3]])