У меня довольно большой фрейм данных (около 15M строк в 7 столбцах), и я хотел бы заменить некоторые значения, которые не имеют правильной формы.
Я попытался перебрать весь фрейм данных, но это занимаетслишком долго, чтобы изменить значения по одному.Я также пытался использовать регулярное выражение, но я не мог найти, как заменить, если строка не соответствует регулярному выражению с пандами.
Мой столбец данных выглядит так:
1 : L8_P1_Local
2 : L8
3 : L8_P1_Local
4 : L8
5 : poste2
6 : poste6
7 : poste2
8 : Poste 2
9 : poste_6
РЕДАКТИРОВАТЬ: Иногда poste2 и poste6 отличаются как Poste 2 или poste_2 или Poste_2. Будет ли это регулярное выражение соответствовать всем?[pP] oste [\ s] * [_] * [0-9]
То, что я пытаюсь сделать, это как L8 на каждом ряду перед poste2 или poste6, так что это будет похоже наL8_poste6
.У меня есть строка 'L8' в переменной с именем numline
.
Редактировать: Поскольку ответ был в принятом ответе на комментарий, я опишу его здесь.
text = numligne +'_\\1'
dataframe['row'] = dataframe['row'].str.replace('([pP]oste[ _]*[0-9])', text)