根据不同的数组对随机生成的Numpy数组进行排序

时间:2018-05-29 13:32:28

标签: python arrays sorting numpy

我创建了2个变量。一个可以容纳200个随机生成的年龄,另一个可以容纳200个随机生成的标记。

Id

我想使用NumPy按年龄数组对标记数组进行排序。例如:

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

this问题类似。我只是不确定是否因为随机生成的元素而适用类似的解决方案。

1 个答案:

答案 0 :(得分:1)

一种方法是首先通过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]