У меня есть массив чисел, и я бы хотел создать другой массив, который представляет ранг каждого элемента в первом массиве. Я использую 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()]
Есть ли лучшие/более быстрые методы, которые не позволяют сортировать массив дважды?