python-3.x 如何通过合并两个 Dataframe 来更新col中的单元格?

s3fp2yjn  于 2023-06-25  发布在  Python
关注(0)|答案(2)|浏览(126)

我有两个 Dataframe 。
df1有很多列,在这些列中,我还有date、ccy、baseCcy和xchRts
我想用df2中的值更新df1中的xchRts列
pd.merge(df1, df2, how="left", on=['date', 'baseCcy', 'ccy'])
这个操作创建了xchRts_x和xchRts_y,我不希望发生这种情况。如果xchRts中的值存在于df2中,我希望覆盖它们。

r7knjye2

r7knjye21#

描述的行为是正确的。如果你想从'xchRts' df2中得到值,只需在df1列中删除'xchRts'或重命名。

df1 = df1.drop(columns=["xchRts"])
pd.merge(df1, df2, how="left", on=['date', 'baseCcy', 'ccy'])
ssm49v7z

ssm49v7z2#

使用combine_first添加一个步骤:

df3 = pd.merge(df1, df2, how="left", on=['date', 'baseCcy', 'ccy'])
df1['xchRts'] = df3['xchRts_y'].combine_first(df3['xchRts_x'])

相关问题