Как удалить слова между несколькими круглыми скобками в пандах? - PullRequest
0 голосов
/ 04 ноября 2018

Я хочу удалить круглые скобки и слова между ними в панде. До сих пор я искал и нашел это очень полезным-

df['Column'].str.replace(r"\(.*\)","")

Но это преобразует следующую строку-

Лимон (20% ...), апельсин (...) и яблоко (...) готово.

(... содержат другие буквы)

до

Лимон готов.

Однако я хочу, чтобы вывод был-

Лимон, апельсин и яблоко готово.

Ответы [ 2 ]

0 голосов
/ 04 ноября 2018

Ниже метод может помочь вам: df['Column'].str.replace('\(.*?\)', '')

0 голосов
/ 04 ноября 2018

Использование:

df['Column'].str.replace(r"\((.*?)\)","")

выход

Lemon , orange  and apple  done.

Объяснение

  1. \( соответствует символу ( буквально (с учетом регистра)
  2. .*? соответствует любому символу (кроме ограничителей строки)
  3. \) соответствует символу ) буквально (с учетом регистра)

P.S - я нашел Regex101 как хороший инструмент онлайн-тестирования для регулярных выражений (я никоим образом не связан с ними). ​​

EDIT

Добавление + может сделать это для вложенного случая ( не проверено полностью ) -

\(+(.*?)\)+

К вашему сведению - договорились с @Ulrich о том, чтобы задать новый вопрос: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...