A.P*_*apa 5 python dictionary matching dataframe pandas
我想df1.Name根据(df2.Name1, df2.Name2). 然而,并不是所有的值都df1.Name存在于df2.Name1
Name
Alex
Maria
Marias
Pandas
Coala
Run Code Online (Sandbox Code Playgroud)
Name1 Name2
Alex Alexs
Marias Maria
Coala Coalas
Run Code Online (Sandbox Code Playgroud)
Name
Alexs
Maria
Maria
Pandas
Coalas
Run Code Online (Sandbox Code Playgroud)
我在网上尝试了几种解决方案,例如使用地图功能。通过上交df2我正在使用的字典df1.Name = df1.Name.map(Dictionary),但这将导致nan所有值不符合df2以下要求。
Name
Alexs
Maria
Maria
NAN
Coalas
Run Code Online (Sandbox Code Playgroud)
我不确定如何使用 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
Run Code Online (Sandbox Code Playgroud)