You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas DataFrame排序疑问:大数据集为何未保留原行顺序?

Pandas sort_values大数据集未保留原顺序的原因
  • 核心在于Pandas会根据数据集大小自动切换排序算法:

    • 小型数据集(默认阈值内)使用稳定排序算法(如归并排序),这类算法能保证相同size值的行保留原始顺序。
    • 百万级大型数据集超过阈值后,会自动切换为非稳定排序算法(如快速排序),这类算法为追求更高排序效率,不会维持相同键值行的原始顺序。
  • 若需要强制保留原始顺序,可在sort_values中手动指定kind='mergesort',这会强制使用稳定排序,但大数据集下排序速度会有所下降。

  • 补充说明:快速排序平均时间复杂度更优且常数因子更小,适合大规模数据高效排序;归并排序虽稳定,但空间复杂度更高,因此Pandas默认会根据数据规模做算法取舍。

内容的提问来源于stack exchange,提问作者braggart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 16:03:08