我是熊猫的新手,我有一个数据框,可以对二进制数据进行排序,以便将数据分隔为0和1。我正在使用df.sort_values
,df.sort_values
会每次都以相同的方式对数据进行排序吗?
我想从第二列的数据框中进行排序。
这是我使用的代码:
sort_data = df.sort_values(['Diagnosis'],axis=0,ascending=True)
答案 0 :(得分:2)
快速回答者是:它取决于您的排序算法。
存在 stable 和 unstable 排序算法。 sort_values
支持稳定的合并排序,但是具有不稳定的默认算法(quick sort
)。稳定的排序算法可以使具有相同键的元素的输出保持与输入相同的顺序。
从docs
,
种类:{“快速排序”,“合并排序”,“堆排序”},默认为“快速排序”
选择排序算法。另请参阅ndarray.np.sort 信息。 mergesort是唯一稳定的算法。对于DataFrame, 此选项仅在对单个列或标签进行排序时适用。
因此,如果您选择一种稳定的算法,它会 每次都以相同的方式对数据进行排序。但是,很高兴知道您使用的排序算法的局限性。网上有一些nice sources可用。