Я пытаюсь заменить имена списка в кадре данных (столбец C):
Список имен (маленький пример, список слишком большой):
Jack
Liam
John
Ethan
George
...
Пример небольшого кадра данных:
A B C
French house Phone <phone_numbers>
English house email <adresse_mail>
French apartment my name is Liam
French house Hello George
English apartment Ethan, my phone is <phone_numbers>
Мой сценарий:
import re
import pandas as pd
from pandas import Series
df = pd.read_excel('data_frame.xlsx')
data = Series.to_string(df['C'])
first_names = open('names_list.txt', 'r')
names_read = first_names.readlines()
def names(data):
names_regex = re.compile(r'\b%s\b' % r'\b|\b'.join(map(re.escape, names_read)))
replace_names = names_regex.sub('<name>', data)
return replace_names
no_names = names(data)
print(no_names)
В качестве вывода у меня есть весь мой фрейм данных без каких-либо изменений ...
Я ожидал:
C
Phone <phone_numbers>
email <adresse_mail>
my name is <name>
Hello <name>
<name>, my phone is <phone_numbers>