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
相关产品推荐
相关产品推荐

