Str.replace в python похоже не работает - PullRequest
0 голосов
/ 16 июня 2020

Моя проблема довольно проста. имена столбцов моего фрейма данных включают их источник, но я хотел бы удалить его, чтобы упростить.

df.columns возвращает

 Index(['a_(Source:_WaPo)','b_(Source:_WaPo)','c_(Source:_WaPo)'],
      dtype='object')

, поэтому я сделал

df.columns.str.replace('_(Source:_WaPo)','')

но столбцы вообще не изменились.

Есть ли альтернативный способ сделать это? или я что-то делаю не так? любая помощь будет оценена.

Это просто пример, допустим, у меня много столбцов, и я бы не хотел просто вручную заменять каждый из них.

Ответы [ 2 ]

1 голос
/ 16 июня 2020

Код ниже заменяет текст:

df.columns.str.replace(r"_\(Source:_WaPo\)","")

или

df.columns = [x.replace("_(Source:_WaPo)","") for x in df.columns]
0 голосов
/ 16 июня 2020

Фактически из df.columns у вас есть список, и у списка есть функция replace. Вместо этого вам нужно перебирать список, в котором присутствуют ваши имена столбцов, где вы можете легко заменить строку.

df.columns = [column.replace("_(Source:_WaPo","") for column in df.columns]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...