最佳答案
我有一个数字数组,我想创建另一个数组,它表示第一个数组中每个项目的排名。我在用 Python 和 NumPy。
例如:
array = [4,2,7,1]
ranks = [2,1,3,0]
这是我想到的最好的方法:
array = numpy.array([4,2,7,1])
temp = array.argsort()
ranks = numpy.arange(len(array))[temp.argsort()]
有没有更好更快的方法可以避免对数组排序两次?