Помощь в сортировке - PullRequest
       11

Помощь в сортировке

1 голос
/ 06 октября 2010

Как в Numpy создать массив индексов, которые можно использовать, чтобы вернуть значения исходного массива в отсортированном порядке?например:

Source:
     [[4  2  6  7]
      [1  4  8  9]
      [3  1  0  3]]

Indices:
     [10  4  9  1  8  11   0  5  2  3  6  7]

Ответы [ 2 ]

2 голосов
/ 06 октября 2010

Взгляните на numpy.argsort - он вернет индексы, которые сортируют ваш массив.Вы также можете указать ось, по которой производится сортировка.Попробуйте:

a = numpy.asarray([[4, 2, 6, 7], [1, 4, 8, 9], [3, 1, 0, 3]])
numpy.argsort(a.flat)

>> array([10,  4,  9,  1,  8, 11,  0,  5,  2,  3,  6,  7])
0 голосов
/ 06 октября 2010

Ответ в руководстве:

src = [[ ... ]]
ravel_src = np.ravel(src)
indices = np.argsort(ra)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...