Reputation: 2573
I have a data frame A dfA
like this:
And another data frame B dfB
which looks like this:
I want to add a column 'Exist' to dfA
so that if User and Movie both exist in dfB
then 'Exist' is True, otherwise it is False.
So dfA
should become like this:
Upvotes: 57
Views: 66876
Reputation: 863631
You can use merge
with parameter indicator
, then remove column Rating
and use 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
Upvotes: 70