Среда: 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 показывает данные:
