当出现平局时,pandas是如何决定排序顺序的?[英] How is pandas deciding order in a sort when there is a tie?

本文是小编为大家收集整理的关于当出现平局时,pandas是如何决定排序顺序的?的处理方法,想解了当出现平局时,pandas是如何决定排序顺序的?的问题怎么解决?当出现平局时,pandas是如何决定排序顺序的?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

熊猫 0.12.0

在下面的 DataFrame 中,为什么它会混淆索引?查看 4,索引从 1、15、6、7 开始.大熊猫用来决定如何排序的推理是什么,我怀疑索引会保持相同值的顺序.

mydf=pd.DataFrame(np.random.randint(1, 6, 20),columns=["stars"])
mydf.sort(['stars'], ascending=False)


     stars
19   5
14   5
1    4
15   4
6    4
7    4
4    3
12   3
18   3
8    2
2    2
9    2
10   2
11   2
13   2
16   2
5    1
3    1
17   1
0    1

推荐答案

Pandas 正在使用 numpyquicksort.快速排序涉及交换项目的位置.一旦它们处于请求的顺序中,它就会停止(在这种情况下,不涉及检查索引,因为您没有要求检查该列).快速排序比简单的排序算法(如 冒泡排序)效率更高请记住 - 这会使各个数字更接近其原始顺序,但需要更多步骤才能这样做.

本文地址:https://www.itbaoku.cn/post/1727941.html