Regex: Как записать слова с пробелами / дефисами, исключая числа? - PullRequest
0 голосов
/ 03 октября 2018

У меня есть набор данных, который выглядит следующим образом:

Column1
-------
abcd - efghi 1234
aasdas - asdas 54321
asda-asd 2344
aasdas(asd) 5234

Я хочу иметь возможность вытащить все, что исключит число, поэтому оно будет выглядеть так:

Column2
-------
abcd - efghi
aasdas - asdas
asda-asd
aasdas(asd)

Это мое текущее регулярное выражение:

df['Column2'] = df['Column1'].str.extract('([A-Z]\w{0,})', expand=True)

Но оно извлекает только первое слово, которое исключает скобки и дефисы.Любая помощь будет оценена ... спасибо!

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Простое удаление чисел оставит вас с нежелательными пробелами.

Это понимание списка удаляет все цифры и сохраняет пробелы, но удаляет их снаружи.

df['Column2'] = df['Column1'].apply(
                   lambda x: ''.join([i for i in x if not i.isdigit()]).strip())
0 голосов
/ 03 октября 2018

Как и при использовании replace

df.Column1.str.replace('\d+','')
Out[775]: 
0      abcd-efghi 
1    aasdas-asdas 
2        asda-asd 
3     aasdas(asd) 
Name: Column1, dtype: object
#df.Column1=df.Column1.str.replace('\d+','')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...