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

#pandas #replace

#pandas #заменить

Вопрос:

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

Я пытался:

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

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

Ответ №1:

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

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

Ответ №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: []
 

Комментарии:

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

2. Спасибо. С праздником!