Есть ли простой способ удалить конец строки в строках кадра данных? - PullRequest
2 голосов
/ 18 марта 2020

Я новичок в Python / pandas и с Regex я теряю волосы. Я хотел бы использовать str.replace () для изменения строк в кадре данных.

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

Jeffrey[1] 
Mike[3]
Philip(1)
Jeffrey[2]
etc...

Я хотел бы удалить в каждой отдельной строке столбца конец строки, который следует либо за '[' или '(' ...

) Я подумал использовать что-то подобное ниже, но мне трудно разобраться в регулярных выражениях, любые советы в отношении хорошего резюме регулярных выражений для начинающих приветствуются.

df['Names']=df['Names'].str.replace(r'REGEX??', '')

Спасибо!

Ответы [ 3 ]

3 голосов
/ 18 марта 2020

Извлечение только букв алфавита c с Series.str.extract:

df['Names'] = df['Names'].str.extract('([A-Za-z]+)')

     Names
0  Jeffrey
1     Mike
2   Philip
3  Jeffrey
2 голосов
/ 18 марта 2020

Вы можете использовать split, чтобы взять все до первых [ или ( символов.

df['Names'].str.split('\[|\(').str[0]

     Names
0  Jeffrey
1     Mike
2   Philip
3  Jeffrey
2 голосов
/ 18 марта 2020

Это регулярное выражение будет работать, с $ указывает конец строки:

 df['Names'] = df['Names'].str.extract('(.*)[\[|\(]\d+[\]\)]$')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...