在另一个数据框中查找并替换该数据框中

时间:2019-01-22 04:27:24

标签: python pandas dataframe

我有两个数据框,下面是两个数据段。我正在尝试在第二个数据框中找到并用第一个数据框中的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

2 个答案:

答案 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)