import pandas as pd
df1 = pd.DataFrame({'key': ['k1', 'k0', 'k2', 'k3', 'k4'],
                    'value1': ['Val01', 'Val00', 'Val02', 'Val03', 
                               'Val04']})

df2 = pd.DataFrame({'key': ['k0', 'k1', 'k5'],
                    'value2': ['Val10', 'Val11', 'Val12']})

mydf1 = df1.join(df2, lsuffix='_df1', rsuffix='_df2' )
print('mydf1:\n', mydf1)
mydf2 = df1.join(df2.set_index('key'), on='key') 
print('mydf2:\n', mydf2)
mydf3 = df1.join(df2.set_index('key'), on='key', how='outer', 
                 sort=True)
print('mydf3\n', mydf3) 
mydf4 = df1.join(df2.set_index('key'), on='key', how='inner') 
print('mydf4\n', mydf4) 
