удалить строку и скобки, если строка содержит указанную c строку. Pandas - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь выяснить, как удалить строку и скобки, если столбец содержит определенную строку.

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

col a
this is the text(text it is) and other information (COO: warning) some other information

Что я могу сделать, это удалить весь текст и скобки. Но как мне просто удалить строку и скобки, которые содержат COO: ??

cork_ing['DS VALUE Check'] = cork_ing['DS_VALUE'].str.replace(r"\(.*?\)","")

Могу ли я изменить вышеприведенную строку кода только для удаления и строки с COO:?

Ответы [ 2 ]

3 голосов
/ 17 февраля 2020

Вы можете указывать термины в скобках, которые также содержат только текст COO, например,

cork_ing['DS VALUE Check'] = cork_ing['DS_VALUE'].str.replace(r'\([^)]*COO.*?\)', '')

Объяснение шаблона регулярного выражения:

\(     match literal (
[^)]*  then match zero or more non ) characters
COO    match 'COO'
.*?    match remaining content up until the first
\)     literal closing )
0 голосов
/ 17 февраля 2020
cork_ing['DS VALUE Check'] = cork_ing['DS_VALUE'].apply(lambda string: string.replace("(","").replace(")","") if "COO" in string else string)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...