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

Pandas 2.0中pyarrow double dtype列聚合操作性能低下原因咨询

Pandas中PyArrow Double dtype聚合性能差异解析

测试背景与结果

测试用DataFrame

CodePrice
AA110
AA120
BB230

执行的聚合代码

df.groupby("code").aggregate({
    "price": "sum"
})

不同dtype组合的执行时间(5次取平均)

Code列dtypePrice列dtype执行时间
Objectfloat642.94 s
string[pyarrow]double[pyarrow]49.5 s
string[pyarrow]float641.11 s

性能差异的核心原因

  • NumPy dtype的成熟优化:Pandas针对NumPy的float64等原生类型,已经积累了多年的底层优化,核心聚合逻辑多由Cython实现,能直接高效利用NumPy数组的连续内存布局完成向量化计算,几乎没有额外开销。
  • PyArrow dtype的适配不足:作为Pandas 2.0新增的类型,PyArrow的double dtype目前还未完全适配Pandas groupby聚合的内部优化路径。执行聚合时,需要在PyArrow数组与Pandas内部计算逻辑之间做额外的类型转换或中间层处理,这会带来大量的性能损耗。
  • 跨类型组合的协同问题:虽然PyArrow字符串列的groupby已经有一定优化,但搭配PyArrow数值列时,分组后的聚合无法像NumPy dtype那样直接复用高效的向量化操作,只能通过更耗时的逐组处理逻辑完成计算。
  • 新特性的迭代空间:PyArrow dtype在Pandas中仍处于完善阶段,这类高频操作的性能问题会在后续版本中逐步得到优化,当前的性能差距属于新特性落地初期的正常现象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 22:07:32