环境: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]
这是一个错误吗?还是我需要使用其他方法对浮点数的numpy数组进行排序? ...是的,我已经搜索过StackOverflow,但没有发现有关此问题的任何问题。
excel的答案 0 :(得分:0)
没有错误。
0.1出现的次数最多,使用series
时可以任意顺序出现。就较大的数字而言,numpy的顺序是递增的,而excel的顺序似乎是递减的-numpy的顺序中的最后几个索引与excel的前几个索引相同。