Я знаю, что эта тема обсуждалась сотни раз, и, конечно, я попробовал все, что выглядело хорошо, например,
df.replace("x", "y", regex=True)
df.str.replace
методы, но почему-то это не сработало для моего DataFrame.
У меня есть DataFrame, как показано ниже
To From CC Title Body
aa@bb cc@rr; cd@ee bg@hy; rg@we jkasdf jklasdf
er@ty po@we oi@we; we@iw kljasldf kasdf
У меня есть какой-то странный почтовый адрес, такой как / o-exchange \ Smith ---, поскольку я получил данные электронной почты Outlook с сервера электронной почты Exchange моей организации. Дело в том, что, похоже, у некоторых людей есть несколько типов этого странного адреса, поэтому я хочу изменить их в одно уникальное электронное письмо для этого конкретного человека.
Поэтому я попытался, как
df = df.replace("weird email", "unique email", regex=True)
and
df['From'] = df['From'].str.replace("weird address", "unique address", regex=True)
но это не заменило все странные адреса на один и тот же уникальный адрес в конце концов. Есть ли какой-нибудь pythoni c способ заменить ВСЕ конкретную строку в другую строку?
Пример входов и выходов для моего DataFrame, такой как ниже
Input
To From CC
abc@we weird@ww long@ww; exchange@ee
weird@ww; exadress@ww long@ww long@ww; exchange@ww
Я проверил все разнообразие странных адресов, которые есть у конкретного человека, и я закодировал, как
df = df.replace('PersonA weird address1', 'Unique addressA')
df = df.replace('PersonA weird address2', 'Unique addressA')
df = df.replace('PersonB weird address1', 'Unique addressB')
df = df.replace('PersonB weird address2', 'Unique addressB')
, и мои требуемые результаты выглядят как
To From CC
abc@we Unique@C Unique@A; Unique@B
Unique@C; exadress@ww Unique@A Unique@A; Unique@B
Я составил список странных адресов и конкретный человек, который имеет адрес. Поэтому я просто хочу объединить все в один уникальный адрес, как указано выше.