Given the following two pandas Dataframes df1 & df2 I am trying to delete all rows from df1["a"] (strings) which do not match with any of the strings from all the entries of df2["z"].
df1 = pd.DataFrame({'a' : ['use social tag', 'dubmod intern workshop data', 'deep collabor filter', 'pathrank a novel node rank'], 'b' : ["test", "test2" ,"test3", "test4"]}) df1 a b 0 use social tag test 1 dubmod intern workshop data test2 2 deep collabor filter test3 3 pathrank a novel node rank test4 df2 = pd.DataFrame({'z' : ['experiment', 'dubmod intern workshop data', 'deep collabor filter', 'experiment3']}) df2 z 0 experiment 1 dubmod intern workshop data 2 deep collabor filter 3 experiment3 The result should look like this:
a b 0 dubmod intern workshop data test2 1 deep collabor filter test3
df1.merge(df2.rename(columns={'z': 'a'})). It's an exact match right?