比较来自两个数据帧的列

时间:2018-09-06 17:18:34

标签: python python-3.x pandas data-analysis

我对Python比较陌生。如果我具有以下两种类型的数据帧,则分别说df1和df2。

Id Name Job                Name Salary Location
1  Jim  Tester             Jim  100    Japan
2  Bob  Developer          Bob  200    US
3  Sam  Support            Si   300    UK
                           Sue  400    France

我想将df2中的“名称”列与df1进行比较,以便如果df1中不存在此人的名称(在df2中),则df2中的该行将输出到另一个数据帧。因此,对于上面的示例,输出将是:

       Name Salary Location
       Si   300    UK
       Sue  400    France  

输出Si和Sue,因为它们在df1的“名称”列中不存在。

1 个答案:

答案 0 :(得分:1)

您可以使用布尔索引:

res = df2[~df2['Name'].isin(df1['Name'].unique())]

如果您在pd.Series.unique中有重复的名称,我们将通过df1使用散列作为一种优化。