#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'