Сортировать случайно сгенерированный массив Numpy по другому массиву - PullRequest
0 голосов
/ 29 мая 2018

Я создал 2 переменные.Один содержит 200 случайно сгенерированных возрастов, другой - 200 случайно сгенерированных меток.

from numpy import *
age = random.random_integers(18,40, size=(1,200))
marks = random.random_integers(0,100, size=(1,200))

Я бы хотел использовать NumPy для сортировки массива меток по возрасту.Например:

#random student ages
[32 37 53 48 39 44 33 40 56 47]
#random student marks
[167 160 176 163 209 178 201 164 190 156]

#sorted marked according to ages
[32 33 37 39 40 44 47 48 53 56]
[167 201 160 209 164 178 156 163 176 190]

Этот вопрос похож на этот один.Я просто не уверен, применимо ли подобное решение из-за случайного генерирования элементов.

1 Ответ

0 голосов
/ 29 мая 2018

Один из способов - сначала вычислить порядок с помощью argsort, а затем использовать его для индексации входных массивов ::

import numpy as np

np.random.seed(0)

ages = np.random.randint(18, 40, size=10)   # [30 33 39 18 21 21 25 27 37 39]
marks = np.random.randint(0, 100, size=10)  # [36 87 70 88 88 12 58 65 39 87]

order = ages.argsort()                      # [3 4 5 6 7 0 1 8 2 9]

print(ages[order])                          # [18 21 21 25 27 30 33 37 39 39]
print(marks[order])                         # [88 88 12 58 65 36 87 39 70 87]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...