У меня есть пустой массив с некоторыми элементами, такими же, как у других, т.е. есть связи, и я применяю np.argsort
, чтобы найти индексы, которые будут сортировать массив:
In [29]: x = [1, 2, 1, 1, 5, 2]
In [30]: np.argsort(x)
Out[30]: array([0, 2, 3, 1, 5, 4])
In [31]: np.argsort(x)
Out[31]: array([0, 2, 3, 1, 5, 4])
Как можно увидеть здесь, результаты, которые мы получаем при запуске argsort
два раза, идентичны.Тем не менее, array([2, 3, 0, 5, 1, 4])
также является полностью допустимым выводом, потому что некоторые элементы в исходном массиве равны.Могу ли я заставить argsort возвращать мне такие «рандомизированные» выходные данные, когда в моем массиве есть связи?Если нет, то какой обходной путь, потому что я не хочу смещать мой выбор самых низких значений в массиве, когда я выбираю их.