df3 = df1.replace(df1.to_dict(orient='list'), df2.to_dict(orient='list'))
>>> import pandas as pd
>>>
>>> df1 = pd.DataFrame({'item': [1, 2, 3, 4], 'val1': [213, 31, 12, 2132], 'val2': [54, 322, 23, 23]})
>>> df2 = pd.DataFrame({'item': [1, 2, 3, 4], 'val1': [213, 31, 12, 2132], 'val2': [32112, 132412, 1354112, 123412]})
>>>
>>> df1 = df1[['item', 'val1']]
>>> df2 = df2[['item', 'val2']]
>>>
>>> df = df1.merge(df2, on='item', how='inner')
>>> df
item val1 val2
0 1 213 32112
1 2 31 132412
2 3 12 1354112
3 4 2132 123412
>>>