首页 > 解决方案 > pandas - 在另一个 DF 中查找一个值,而不合并来自另一个数据帧的数据

问题描述

我有 2 个数据框。DF1DF2

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

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

我目前正在使用以下代码

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

尽管将国籍列添加到 DF1 中,但代码会复制条目并添加来自 DF2 的其他我不想要的数据。

有没有一种方法可以在只保留 DF1 数据的同时从 DF2 获取国籍?

谢谢

DF1

DF1

DF2

DF2

输出

在此处输入图像描述

标签: pandaslookup

解决方案


2分,你需要做的。

  1. 如果 DF2 中有任何重复

  2. 您可以在合并语句中定义“如何”。所以它看起来像

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

由于您只想保留 DF1 行,因此“左”应该是您的理想选择。

有关更多信息,请参阅


推荐阅读