首页 > 解决方案 > 将数据框值替换为来自其他匹配的数据框的数据

问题描述

我有一个 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 创建的

标签: pythonpandas

解决方案


推荐阅读