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

#python #pandas #dataframe

#python #pandas #dataframe

Вопрос:

Столбец, из которого я хочу извлечь круглые скобки :

    SktNo                         Description
0     19  WATER CALTROP (LING KOK) (CHN) K10
  

Изначально я смог создать новый столбец на основе извлечения значений в круглых скобках с помощью этого:

 df['Origin'] = df['Description'].str.extract(r"(([A-Za-z] ))", expand=False)
  

Но это заняло круглые скобки с наименьшим количеством букв в нем, а не их обоих.

Я хочу, чтобы новый столбец включал обе строки между круглыми скобками следующим образом:

 Origin 
LING KOK, CHN
  

Ответ №1:

Использовать Series.str.findall Series.str.join :

 df['Origin'] = df['Description'].str.findall(r'((.*?))').str.join(', ')
  

Результат:

    SktNo                         Description         Origin
0     19  WATER CALTROP (LING KOK) (CHN) K10  LING KOK, CHN