python - 将数据框值替换为来自其他匹配的数据框的数据
问题描述
我有一个 df1 看起来像(原来的有超过 1k 行):
Invoice Legal
0 153136 Quatro
1 202169 Rock
2 202129 Osiem
3 202119 Yetc
和一个 df2 看起来像:
Legal Org
0 Quatro Sample
1 Osiem Petra
如果 df2 Legal 数据匹配,我需要将 df1 Legal 列替换为 df2 Org 数据。
在这种情况下将是(输出):
Invoice Legal
0 153136 Sample -> changed
1 202169 Rock
2 202129 Petra -> changed
3 202119 Yetc
我尝试了以下方法,但出现错误。谢谢。
legal_dict = df2.set_index('Legal').to_dict()
df1['Legal'] = df1['Legal'].apply(lambda x: legal_dict[x])
也许值得一提的是,dfs 是通过 pd.read_csv 创建的