Извлечение строки слева от круглых скобок в ячейке столбца данных - PullRequest
0 голосов
/ 19 января 2020

У меня есть следующий пример данных:

names = ['Banana, Andrew Something (Maria Banana)', 'Willis, Mr. Bruce (Demi Moore)', 'Crews, Master Terry']

room = [100, 330, 212]

hotel_loon = {'Name' : Series(names), 'Room' = Series(room)}

hotel_loon_df = DataFrame(hotel_loon)

Имена в скобках - это фактические гости гостиничного номера, а имя вне скобок - имя человека, который сделал бронирование. Если есть только одно имя, как в случае с Терри Крюсом, он оба забронировал отель и занял номер.

Мне удалось извлечь название из строки имени:

for i in hotel_loon_df:
    hotel_loon_df['Title'} = hotel_loon_df.Name.str.extract('([A-Za-z]+)\.')

но я заблокирован тем, как продолжать извлекать имя в круглых скобках, чтобы оно было его собственным столбцом.

Если у вас есть какие-либо идеи или предложения о том, как действовать, я был бы очень признателен.

1 Ответ

0 голосов
/ 19 января 2020

Вы можете сделать что-то вроде:

# get everything inside brackets
hotel_loon_df['occupants'] = hotel_loon_df['Name'].str.extract(r'\((.*)\)')

# get outside of brackets
hotel_loon_df['persons'] = hotel_loon_df['Name'].str.extract('(.*?)\(.*?\)')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...