import pandas as pd df1 = pd.DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'a', 'b'],'data1': range(7)}) df2 = pd.DataFrame({'key': ['a', 'b', 'd'],'data2': range(3)}) df=pd.merge(df1, df2, on='key') print(df)