Как я могу получить отсортированные индексы массива numpy (расстояние), рассматривая только определенные индексы из другого массива numpy (val).
Например, рассмотрим два приведенных ниже массива numpy:1003 *
val = np.array([[10, 0, 0, 0, 0],
[0, 0, 10, 0, 10],
[0, 10, 10, 0, 0],
[0, 0, 0, 10, 0],
[0, 0, 0, 0, 0]])
distance = np.array([[4, 3, 2, 3, 4],
[3, 2, 1, 2, 3],
[2, 1, 0, 1, 2],
[3, 2, 1, 2, 3],
[4, 3, 2, 3, 4]])
расстояния, где val == 10 - это 4, 1, 3, 1, 0, 2. Я бы хотел, чтобы они были отсортированы по 0, 1, 1, 2, 3, 4 и возвращалсясоответствующие индексы из массива расстояний.
Возвращает что-то вроде:
(array([2, 1, 2, 3, 1, 0], dtype=int64), array([2, 2, 1, 3, 4, 0], dtype=int64))
или:
(array([2, 2, 1, 3, 1, 0], dtype=int64), array([2, 1, 2, 3, 4, 0], dtype=int64))
, поскольку второй и третий элементы имеют расстояние «1», поэтому я думаю, что индексы могут бытьвзаимозаменяемые