如何在索引重叠时用另一DataFrame列更新pandas DataFrame列?
最简实现方法
直接使用pandas的update()方法,配合列重命名即可完成需求,这是最简洁的实现方式:
import pandas as pd # 创建示例数据 dfA = pd.DataFrame({'A': [1,1,1,1]}, index=[1,2,3,4]) dfB = pd.DataFrame({'B': [2,2,2,2]}, index=[3,4,5,6]) # 核心操作:重命名dfB列名后更新dfA dfA.update(dfB.rename(columns={'B': 'A'})) print(dfA)
关键说明
dfB.rename(columns={'B': 'A'}):将dfB的B列重命名为A,保证列名与dfA待更新的列一致,满足update()方法的匹配要求dfA.update():该方法会自动按索引匹配,仅用dfB中与dfA重叠索引对应的值更新dfA,不重叠的索引和列不会被修改,完全契合需求
执行代码后输出结果:
A 1 1 2 1 3 2 4 2
内容的提问来源于stack exchange,提问作者GodProbablyExists
相关产品推荐
相关产品推荐

