I have two dataframes I want to check if a column from first dataframe contains values that are in the column of second dataframe, and if it does, create a column and add 1 to the row where it contains a value from first column first df:
A header | Another header |
---|---|
First | apple |
Second | orange |
third | banana |
fourth | tea |
desired output in second df second df:
A header | Another header | match |
---|---|---|
First | sheet | 0 |
Second | chair | 0 |
third | apple | 1 |
fourth | orange | 1 |
Advertisement
Answer
Use Series.isin
and convert boolean to 1/0
values by casting:
df2['match'] = df2['Another header'].isin(df1['Another header']).astype(int)
Or by numpy.where
:
df2['match'] = np.where(df2['Another header'].isin(df1['Another header']), 1, 0)