pandas - 在不合并来自其他数据帧的数据的情况下在另一个 DF 中查找值

pandas - lookup a value in another DF without merging data from the other dataframe

我有 2 个 DataFrame。 DF1DF2.

(请注意 DF2 的条目数比 DF1 多)

我想做的是将国籍列添加到DF1(脚本应该在DF1中查找名称并在DF2中找到相应的国籍)。

我目前正在使用以下代码

final_DF =df1.merge(df2[['PPS','Nationality']], on=['PPS'], how ='left')

虽然国籍列被添加到 DF1,但代码复制了条目并且还添加了我不想要的来自 DF2 的其他数据。

有没有办法在只保留DF1数据的情况下从DF2获取国籍?

谢谢

DF1

DF2

输出

2分,你需要做的。

  1. DF2中是否有重复

  2. 可以在合并语句中定义'how'。所以它看起来像

    final_DF = DF1.merge(DF2, on=['Name'], how = 'left')

因为您只想保留 DF1 行,'left' 应该是您的理想选择。

有关详细信息,请参阅 this