Строчные и заменить ненужные подстроки из заголовка датафрейма в Pandas - PullRequest
1 голос
/ 08 января 2020

Я хочу lowercase и удалить сначала s из заголовка кадра данных: 'id', 'sTitle', 'sSource', 'sDate', 'sAbstract', 'sStart_Time', 'sSite', 'sUrl'.

Ожидаемый заголовок будет выглядеть так: 'id', 'title', 'source', 'date', 'abstract', 'start_time', 'site', 'url'

У меня есть пробовал с: df.columns = df.columns.str.lower().lstrip('s'), выдает ошибку: AttributeError: 'Index' object has no attribute 'lstrip'.

Как я могу сделать это правильно? Спасибо.

1 Ответ

2 голосов
/ 08 января 2020

Вам нужно снова написать .str:

df.columns = df.columns.str.lstrip('s').str.lower()

Редактировать:

После обсуждения с ОП это был окончательный рабочий код :

cols = ['sAbstract', 'sStart_Time']
df.columns = pd.Series(df.columns.tolist()).replace({k: k.lstrip('s').lower() for k in cols})
...