假设我有以下两个 DataFrame:
df1 = pd.DataFrame({'id': [1, 2, 3], 'name': ['Johnny', 'Sara', 'Mike']})
df2 = pd.DataFrame({'name': [2, 1, 2]})
如何从 df1 中定义的映射更新 df2:
df2 = pd.DataFrame({'name': ['Sara', 'Johnny', 'Sara']})
我已经完成了以下操作,但必须有更好的方法:
id_to_name = {i: name for i, name in zip(df1['id'].tolist(), df1['name'].tolist())}
df2['name'] = df2['name'].map(id_to_name)
请您参考如下方法:
另一种方式:-)我最近才学
df1.set_index('id').name.get(df2.name)
Out[381]:
id
2 Sara
1 Johnny
2 Sara
Name: name, dtype: object
