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

Python:相减两个DataFrame时如何保留df2的全部索引

解决方法

要实现用df1减去df2,同时保留df2的所有索引(不存在于df1的索引位置保留df2原值),可以用以下两种方法:

方法1:subtract + combine_first

先执行减法运算,再用df2填充结果中的空值,确保所有df2的索引和列都被保留:

result = df1.subtract(df2).combine_first(df2)

方法2:复制df2后更新差异值

先复制df2作为结果基础,再计算df1与df2的差值,最后将差值中有效的部分更新到结果中:

result = df2.copy()
diff = df1 - df2
result.update(diff)

说明

两种方法都能实现需求:

  • 对于df1和df2共有的索引和列,执行df1 - df2的运算
  • 对于仅存在于df2的索引或列,直接保留df2的原始值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 20:01:07