Вывод правильный, дело в том, что np.argsort с axis = 0 фактически сравнивает каждый элемент элементов первой оси '.Таким образом, для массива
array = [[0, 1, 2, 3, 4, 5],
... [444, 4, 8, 3, 1, 10],
... [2, 5, 8, 999, 1, 4]]
axis = 0 сравниваются элементы, (0, 444, 2), (1,4,8), (2,8,8), (3,3,999), (4,1,1), (5,10,4), так что он дает массив индексов в виде:
np.argsort(array, axis=0)
array([[0, 0, 0, 0, 1, 2],
[2, 1, 1, 1, 2, 0],
[1, 2, 2, 2, 0, 1]])
Итак, для вашего вопроса последние 2 значения получены из элементов(4,1,1), которые дают значение индекса массива как (1,2,0), а для (5,10,4) это дает (2,0,1).
См. Это: np.argsort