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

Pandas的join、merge与groupby API底层执行算法是什么?

Pandas中merge/join与groupby的底层算法实现

merge/join 算法选择

  • Pandas的merge和join(join本质是merge的封装)会根据数据特性动态选择哈希连接(Hash Join)或排序-合并连接(Sort-Merge Join):
    • 当连接键数据量较小、重复值少,内存足以构建哈希表时,优先使用哈希连接,它的平均时间复杂度更优;
    • 当连接键数据量极大、内存无法支撑哈希表时,会自动切换到排序-合并连接。
      在v1.2.0版本的merge.py源码中,核心逻辑由_get_join_type和_get_join_impl函数实现,会结合连接类型(内/外连接等)、数据规模、内存占用等因素做判断。

groupby 算法选择

  • Pandas的groupby同样会动态选择哈希分组或排序分组:
    • 当分组键的基数较低(不同分组值的数量少)时,默认用哈希分组,通过哈希表快速映射行与分组的对应关系;
    • 当分组键基数高,或后续聚合需要依赖排序结果时,会采用排序分组,先对分组键排序再执行聚合。
      在v1.2.0版本的groupby.py中,_get_grouper函数负责处理分组方式的选择,会结合数据类型、内存使用等条件决策。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 21:59:57