检查另一个数据帧中是否存在一个数据帧中的行

时间:2016-08-09 15:46:06

标签: python pandas dataframe

我有一个像这样的数据框:

enter image description here

另一个数据框B看起来像这样:

enter image description here

我想添加一个专栏' Exist'数据帧A使得如果用户和电影都存在于数据帧B中,则存在'存在'是真的,否则是假的。 所以A应该是这样的: enter image description here

1 个答案:

答案 0 :(得分:12)

您可以将merge与参数indicator一起使用,然后删除列Rating并使用numpy.where

df = pd.merge(df1, df2, on=['User','Movie'], how='left', indicator='Exist')
df.drop('Rating', inplace=True, axis=1)
df['Exist'] = np.where(df.Exist == 'both', True, False)
print (df)
   User  Movie  Exist
0     1    333  False
1     1   1193   True
2     1      3  False
3     2    433  False
4     3     54   True
5     3    343  False
6     3     76   True