Удаление символов из строки (фрейма данных)

#python-3.x #pandas #dataframe

#python-3.x #панды #фрейм данных

Вопрос:

Как мне удалить лишние символы с помощью регулярного выражения в приведенном ниже фрагменте строкового кода.

Из этого: Fulham n3.20 nDraw n3.25 nSouthampton n2.25 n

К желаемому результату: 3.20 n n3.25 n n2.25

Примечание: я пробовал использовать это регулярное выражение -> ([^ d. n]), но оно оставляет нежелательный ‘n’ в имени команды, если применимо.

 ([^d.\n])

Fulhamn3.20nDrawn3.25nSouthamptonn2.25n

 

Комментарии:

1. Зачем вам отмечать это знаком web-scraping ?

2. @baduker Это упражнение по очистке набора данных. Думал, что подойдет соскабливание паутины. Я могу удалить, если вы порекомендуете

3. @HedgeHog Спасибо за редактирование. Обучение каждый день… доберусь туда 🙂

Ответ №1:

Попробуйте это:

 s = "Fulhamn3.20nDrawn3.25nSouthamptonn2.25n"
"nn".join(i for i in s.split() if re.search(r"d", i))
 

Вывод:

 '3.20nn3.25nn2.25'
 

Ответ №2:

Вы также можете использовать str.replace .

 df['column_name'].str.replace(r'[a-zA-Z]','')
 

Если вам не нужны конечные и начальные n значения, вы можете использовать strip('n')