我想覆盖我的df1.Name
基于映射表的值(df2.Name1, df2.Name2)
。然而,并非所有值df1.Name
存在于df2.Name1
df1:
Name
Alex
Maria
Marias
Pandas
Coala
df2:
Name1 Name2
Alex Alexs
Marias Maria
Coala Coalas
预期结果:
Name
Alexs
Maria
Maria
Pandas
Coalas
我在网上尝试了几种解决方案,例如使用地图功能。通过转动df2
在我正在使用的字典中df1.Name = df1.Name.map(Dictionary)
,但这会导致nan
对于所有不在其中的值df2
如下所示。
Name
Alexs
Maria
Maria
NAN
Coalas
我不知道如何使用 IF 语句来仅替换 df2 中确实存在的语句,并按照 df1 保留其余部分。
我还尝试创建一个函数if
声明,但却是一次重大失败。
我该如何解决这个问题?
通过使用replace
df1.Name.replace(df2.set_index('Name1').Name2.to_dict())
Out[437]:
0 Alexs
1 Maria
2 Maria
3 Pandas
4 Coalas
Name: Name, dtype: object
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)