Найти и заменить в фрейме данных другой фрейм - PullRequest
0 голосов
/ 22 января 2019

У меня есть два кадра данных, ниже приведены фрагменты обоих. Я пытаюсь найти и заменить имена исполнителей во втором информационном кадре с идентификаторами в первом информационном кадре. Есть ли хороший способ сделать это?

   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 голосов
/ 22 января 2019

Преобразование вашего первого кадра данных в словарь:

d = Series(name_df.id.astype(str),index=name_df.fullName).to_dict()

Затем используйте .replace():

artists_df["Artists"] = artists_df["Artists"].replace(d, regex=True)
0 голосов
/ 22 января 2019

Вы имеете в виду проверить с 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...