массив nugy argsort неправильно отсортирован - PullRequest
0 голосов
/ 26 июня 2018

Среда: Python 3.6.5, Jupyter 4.4.0 Работа с scikit-learn lda и попытка отсортировать темы компонентов; Тем не менее, я сталкиваюсь с постоянно странными результатами при использовании argsort ()

Мой код отладки:

testArray = np.array([4.09999998, 0.1, 0.10000539, 0.1, 0.1, 0.1, 0.10000231, 0.1, 0.10000264, 0.1, 0.1, 0.10000064, 0.1, 0.10000592, 0.1, 0.10000874, 4.70374711, 0.1, 0.10000692, 0.1, 0.1, 0.1, 0.10000971, 0.1, 0.1, 0.10000581, 0.1000008, 0.10000729, 0.1, 4.099977, 12.76810792, 0.1, 2.47658459, 4.09995712, 0.10001568, 0.10000793])
print(testArray)
print(testArray.argsort())

переменная testArray содержит следующее:

[4.09999998  0.1         0.10000539  0.1         0.1         0.1
  0.10000231  0.1         0.10000264  0.1         0.1         0.10000064
  0.1         0.10000592  0.1         0.10000874  4.70374711  0.1
  0.10000692  0.1         0.1         0.1         0.10000971  0.1
  0.1         0.10000581  0.1000008   0.10000729  0.1         4.099977
 12.76810792  0.1         2.47658459  4.09995712  0.10001568  0.10000793 ]

testArray.argsort () возвращает:

[17 23 21 20 19 28 31 14 24 10 12  7  5  4  3  1  9 11 26  6  8  2 25 13
 18 27 35 15 22 34 32 33 29  0 16 30]

однако, это не правильная последовательность сортировки. Если я помещаю тему в электронную таблицу и сортирую ее, я получаю следующую последовательность:

[30 16  0 29 33 32 34 22 15 35 27 18 13 25  2  8  6 26  
11  1  3  4  5  7  9 10 12 14 17 19 20 21 23 24 28 31]

Это ошибка? Или мне нужно использовать другой подход для сортировки массива с плавающей точкой? ... Да, я уже искал StackOverflow и не нашел никаких вопросов по этому вопросу.

захват из Excel показывает данные: It works so much better when I don't mess up the excel macros

1 Ответ

0 голосов
/ 26 июня 2018

Там нет ошибки.

0.1 встречается чаще всего, что может появляться в произвольном порядке при использовании argsort. Что касается больших чисел, то порядковый номер возрастает, а порядковый номер выглядит нисходящим - последние несколько индексов в порядковом порядке совпадают с первыми в порядковом порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...