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

Python Pandas如何合并两个DataFrame:相同索引行求和,保留唯一索引

实现方案

直接使用pandas原生的索引对齐加法逻辑即可,底层为矢量化实现,性能极高,哪怕数千列的规模也能快速输出结果,不需要编写循环或复杂的拼接分组逻辑:

df3 = df1.add(df2, fill_value=0).sort_index()

逻辑说明

  • add方法会自动对齐两个DataFrame的行索引和列名:
    • 两个表共有的索引行,会自动逐列执行求和运算,完全匹配同索引行逐列相加的要求
    • 仅在单个表中存在的独有索引,另一个表对应位置的对齐缺失值会被fill_value=0填充为0,相加后等价于原样保留原有行的数值,不会产生空值
  • 末尾的sort_index()会将最终结果按整数索引升序排列,和两个原始DataFrame的有序索引规则完全一致,输出结构和你给出的预期df3完全匹配。

注意:如果原始数据本身存在业务层面的空值,需要提前按业务规则填充,fill_value=0仅会处理两个表对齐时产生的位置缺失,不会修改原始数据自带的空值。

性能说明

该方案为pandas底层C实现的原生运算,无Python层循环开销,不管是数千列还是十万级以上行数,运行效率都远高于「先拼接两个表再按索引分组求和」的实现,内存占用也更低。

内容的提问来源于stack exchange,提问作者T.A. Anderson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 22:03:25