Переименовать столбец по положению pandas

Я пытаюсь переименовать столбец по положению в фрейме данных pandas.

Я пытался:

df.rename(columns = { df.columns[0]: "Line Items" }, inplace=True) #replace name

Но этот код заменяет все столбцы с тем же именем, что и столбец [0], на «Статьи затрат» независимо от их позиций.

1
0
1 762
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете назначать столбцы в понимании списка с помощью базовой логики.

import pandas as pd
df = pd.DataFrame(columns=list('AABCDA'))

df.columns = ["Line Items" if i == 0 else x for i,x in enumerate(df.columns)]

print(df)
#Empty DataFrame
#Columns: [Line Items, A, B, C, D, A]
#Index: []

С праздником~~

BENY 21.12.2020 22:13

Спасибо. Хорошего праздника!

postcolonialist 22.12.2020 15:57
Ответ принят как подходящий

Преобразуем в series, затем изменим значение на .iloc и присвоим его обратно

s = df.columns.to_series()
s.iloc[0] = 'something'
df.columns = s

Другие вопросы по теме