Pandas - заменить значение на основе столбца, используя метки из другого столбца - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь сопоставить два столбца, и если значение в столбце «Источник» найдено в столбце «Идентификатор», то использовать эту метку в «new_source» со значением в соответствующем значении из «Метка»

в настоящее время пробовал:

df['new_labels'] = np.where((df.Source == df.Id),df.Label,df.Source)

Id      Label   Source
n0      label1  n0
n1      label2  n10
n10     label3  n10
n100    label4  n10
n1000   label5  n100
n10000  label6  n10002
n10001  label7  n10003
n10002  label8  n10001
n10003  label9  n10002

Так что в идеале я бы закончил с новым столбцом, который показал это:

Id      Label   Source  new_labels
n0      label1  n0      label1
n1      label2  n10     label3
n10     label3  n10     label3
n100    label4  n10     label3
n1000   label5  n100    label4
n10000  label6  n10002  label8
n10001  label7  n10003  label9
n10002  label8  n10001  label7
n10003  label9  n10002  label8

В настоящее время все, что я получаю:

    Id      Label   Source  new_labels
    n0      label1  n0      label1
    n1      label2  n10     n1
    n10     label3  n10     label3
    n100    label4  n10     n100
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...