我有两个数据框,下面是两个数据段。我正在尝试在第二个数据框中找到并用第一个数据框中的ID替换艺术家的名字。有什么好方法吗?
id fullName
0 1 Colin McCahon
1 2 Robert Henry Dickerson
2 3 Arthur Dagley
Artists
0 Arthur Dagley, Colin McCahon, Maria Cruz
1 Fiona Gilmore, Peter Madden, Nicholas Spratt, ...
2 Robert Henry Dickerson
3 Steve Carr
所需的输出:
Artists
0 3, 1, Maria Cruz
1 Fiona Gilmore, Peter Madden, Nicholas Spratt, ...
2 2
3 Steve Carr
答案 0 :(得分:2)
您的意思是检查replace
df1.Artists.replace(dict(zip(df.fullName,df.id.astype(str))),regex=True)
0 3, 1, Maria Cruz
1 Fiona Gilmore, Peter Madden, Nicholas Spratt, ...
2 2
3 Steve Carr
Name: Artists, dtype: object
答案 1 :(得分:1)
将您的第一个数据帧转换为字典:
d = Series(name_df.id.astype(str),index=name_df.fullName).to_dict()
然后使用.replace()
:
artists_df["Artists"] = artists_df["Artists"].replace(d, regex=True)