Получение значений строк в пандах - PullRequest
0 голосов
/ 03 февраля 2019

У меня есть датафрейм с двумя столбцами

countries                       data
United states of america(USA)    1
india13                          2

Я хочу получить данные из строки в этом формате

countries                       data
United states of america        1
india                           2

, я хочу отфильтровать индекс по парантезуи число. Если оно содержит что-то из этого, то я хочу удалить скобки и число из метки строки. Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 03 февраля 2019

Вы можете использовать str.replace для удаления как цифр, так и скобок вместе с текстом внутри них:

df.loc[:,'countries'] = df.countries.str.replace(r'[0-9]|\(.*\)','', regex=True)

            countries         data
0  Unites states of america     1
1                     india     2
0 голосов
/ 03 февраля 2019

Используйте str.extract, регулярное выражение извлекает все алфавиты из строки, пока не встретится скобка

df.countries = df.countries.str.extract('([A-Za-z ]+)\(?', expand = False)

    countries                   data
0   Unites states of america    1
1   india                       2
...