Индекс Numpy, отсортированный по целочисленному массиву, с сохранением порядка сортировкиPython

Программы на Python
Anonymous
Индекс Numpy, отсортированный по целочисленному массиву, с сохранением порядка сортировки

Сообщение Anonymous »

У меня есть массив x и результат его сортировки i. Если я возьму x, он вернет отсортированный x, как и ожидалось. Однако теперь я хочу использовать только определенные строки от x до n. Итак, x[n] возвращает значения x, как и ожидалось.
Моя проблема в том, что мне нужно отсортировать эти x[n] через i.< /p>

Код: Выделить всё

# Example data
x = np.array([14, 15,  9,  6, 19, 18,  4, 11, 10,  0])
i = np.argsort(x)
n = np.array([2, 5, 7, 8])

#x[n] -> array([ 9, 18, 11, 10])
Желаемый результат: index_sort(x, n, i) = array([ 9, 10, 11, 18])
Несколько простых (неудачных) попыток: -> Ошибка индексации, поскольку x теперь слишком мал.

Код: Выделить всё

x[i[n]] -> array([ 6, 11, 15, 18])
, отсортировано, но содержит неправильные данные
-> То же

Подробнее здесь: https://stackoverflow.com/questions/784 ... ting-order

Вернуться в «Python»