嗨,我在我的数据框中有一列只有1。但是如果我取前16行并对该列进行排序值操作,我得到一个顺序,但当我取前17行并执行相同的排序值操作时,我得到不同的顺序。当所添加的值相对于列中的上述值没有变化时,为什么顺序会发生变化?


发布于 2020-08-27 02:56:33
您需要指定一个稳定的排序算法:'mergesort'。默认情况下使用'quicksort'。np.sort documentation提供了不同方法的有用链接和比较。
import pandas as pd
df = pd.DataFrame({'Rank': [1]*40})
df.head(17)['Rank'].sort_values()
#0 1
#14 1
#...
#1 1
#7 1
#16 1
#Name: Rank, dtype: int64
df.head(17)['Rank'].sort_values(kind='mergesort')
#0 1
#1 1
#2 1
#...
#15 1
#16 1
#Name: Rank, dtype: int64https://stackoverflow.com/questions/63604001
复制相似问题