Каков наиболее эффективный способ сортировки двух матриц numpy параллельно, по строке? Пример из игрушка:Сортировка двух матриц numpy параллельно, строка за строкой
сортировать это альфа:
a = [['c', 'b', 'e', 'd'],
['a', 'd', 'b', 'e']]
то, вроде этого параллельно к:
b = [['1', '2', '3', '4'],
['2', '1', '4', '3']]
Результат после сортировки:
a = [['b', 'c', 'd', 'e'],
['a', 'b', 'd', 'e']]
b = [['2', '1', '4', '3'],
['2', '4', '1', '3']]
В моем реальном случае , a
и b
- большие двумерные матрицы одинакового размера.
Если я использую idx = a.argsort()
, я получаю индексы для сортировки каждой строки. Могут ли они применяться к b за один шаг? b = b[idx]
не работает.
также ваш пример о 1d списке, а затем вы ссылаетесь 2d матриц, Приведите примеры, которые соответствуют тому, что вы делаете. – Julien
b [idx] не возвращает ошибку, но содержимое не сортируется. Я обновлю пример игрушек. –
Возможно, этот ответ (как применить argsort к 2D-массиву): http://stackoverflow.com/a/33141247/3981745 - да, поздно. Браузер не обновился. –