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)