Python: как сделать так, чтобы индексы второго массива совпадали с индексами первого массива при сортировке первого массива? - PullRequest
0 голосов
/ 09 марта 2020

У меня есть два Numpy массива: a: [2,5,3,7,9,1] и b: [1,2,3,4,5,6]. Я хочу отсортировать a, и элементы b сдвигаются так же, как это делают индексы a. В этом случае a станет [1,2,3,5,7,9], а b станет [6,1,3,2,4,5]. Я знаю, как использовать np.sort для сортировки a, но как бы я переставил b?

1 Ответ

2 голосов
/ 09 марта 2020

С NumPy s argsort:

>>> b[a.argsort()]
array([6, 1, 3, 2, 4, 5])

Альтернатива без NumPy:

>>> a, b = zip(*sorted(zip(a, b)))
>>> a
(1, 2, 3, 5, 7, 9)
>>> b
(6, 1, 3, 2, 4, 5)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...