Id Id - индексный столбец, для этого можно использовать метод обновления
df1 = pd.DataFrame([[12, 190.0], [13, 180.0], [34, 173.0]], columns=('Id', 'height')).set_index("Id")
df2 = pd.DataFrame([[12, 234.0], [15, 256.0], [13, 248.0]], columns=('Id', 'amount')).set_index("Id")
df1["amount"] = np.nan
df1.update(df2, overwrite=True)
print(df1)
Результат
height amount
Id
12 190.0 234.0
13 180.0 248.0
34 173.0 NaN