实现以下目标的最有效方法是什么?我有两个DataFrame,并想检查DF1中的值是否存在于DF2中。如果他们这样做,那么我想在DF1中添加另一列对此进行标记。
数据框1:
col1
0 1
1 2
2 3
3 4
4 5
数据框2:
col1
0 5
1 6
2 7
3 8
4 9
所需结果:
col1 Flag
0 5 Duplicate
1 6 Non-duplicate
2 7 Non-duplicate
3 8 Non-duplicate
4 9 Non-duplicate
谢谢。
答案 0 :(得分:3)
尝试在np.where
中以df2.col1
为条件的情况下使用df.col1
,如果是,则说Duplicate
,否则说Non-duplicate
:
>>> df2['Flag'] = np.where(df2.col1.isin(df.col1), 'Duplicate', 'Non-duplicate')
>>> df2
col1 Flag
0 5 Duplicate
1 6 Non-duplicate
2 7 Non-duplicate
3 8 Non-duplicate
4 9 Non-duplicate
>>>