В dataframe: удалить paranthesis и все, что внутри них, в столбце

#python #pandas

#python #pandas

Вопрос:

У меня есть фрейм данных pandas, где столбец имеет круглые скобки. Я хочу сохранить содержимое столбца, но удалить все внутри круглых скобок, как показано ниже. Затем добавьте к нему постоянный текст под названием «данные».

 col1
counties(17) - cities(8)

I tried df['col1']=df['col1'].str.replace(r"(.*)","") 
  

эта команда выводит только округа

Мой желаемый результат

  counties - cities data
  

Ответ №1:

Вы своим выражением заменяете все на "" ? Вы должны заменить на " data" , чтобы получить результат, показанный выше.

Изменить

 df['col1']=df['col1'].str.replace(r"(.*)","")
  

Для

 df['col1']=df['col1'].str.replace(r"(.*)", " data")
  

Ответ №2:

Pandas использует re модуль под капотом, поэтому вы должны соблюдать его регулярное выражение и можете использовать все его функции. Здесь вам нужно не жадное совпадение для заключенного в скобки слова (более короткого), поэтому вы должны использовать df['col1'].str.replace(r"(.*?)","") . Если вы хотите добавить " data" , это заканчивается на:

 df['col1'] = df.col1.str.replace(r'(.*?)', '')   ' data'