我对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的“名称”列中不存在。
答案 0 :(得分:1)
您可以使用布尔索引:
res = df2[~df2['Name'].isin(df1['Name'].unique())]
如果您在pd.Series.unique
中有重复的名称,我们将通过df1
使用散列作为一种优化。