Удаление ненужных символов из pandas

У меня огромный объем данных (155000 текстовых комментариев). Для последующего обучения нужно убрать ненужные символы (#,&,XX/XXXX итд). Делаю я обработку данных с помощью следующей функции:

file = pd.read_csv('X_train.csv',sep = ',', parse_dates=['Date received'])

def preprocessor(text):
    l = len(text)
    for i in range(l):
        text[i] = text[i].lower()
        text[i] = re.sub("x{2}", " ", text[i])
        text[i] = rg.sub(r'[^\pL\p{Space}]', " ", text[i])

title = file['title']
preprocessor(title)

title - это столбец с комментариями (т.е. с текстом, который нужно будет в дальнейшем использовать в модели Машинного обучения). Но выполняется это очень-очень долго.

Как можно ускорить процесс?


Ответы (1 шт):

Автор решения: Nikolay

Попробуйте использовать метод .replace вместо цикла:

df = pd.read_csv('X_train.csv',sep = ',')    
df = df.replace(to_replace ='[^\pL\p{Space}]', value = '', regex = True)

Если хотите работать с определенной колонкой, то:

df = df['title'].replace(to_replace ='[^\pL\p{Space}]', value = '', regex = True)
→ Ссылка