У меня есть dataframe, который имеет один столбец, но у него нет имени, как показано на рисунке ниже.

enter image description here

Теперь я хочу назвать безымянный coulmn. Я просмотрел существующий поток (Rename безымянный столбец pandas dataframe) и написал следующий код :

temp.rename(columns = {0:'SUBGROUP'},inplace=True)

Но это не дало желаемого результата. Кто-нибудь может указать, где я совершаю ошибку?

0
user2293224 29 Окт 2019 в 01:56
2
Для меня это похоже на Series, а не на DataFrame
 – 
roganjosh
29 Окт 2019 в 02:00
Спасибо, что указали на проблему. Действительно, это серия. Спасибо
 – 
user2293224
29 Окт 2019 в 02:09

1 ответ

Прежде всего, должно быть ясно, что серия Pandas - это одномерные данные, имя серии - это имя столбца, которое вам нужно, и оно отображается ниже при печати. Если вы хотите получить эффект, что ожидаемое имя столбца будет отображаться над значением столбца, вы должны преобразовать тип данных в тип DataFrame панд.


Демо

import pandas as pd

# build Series temp with first 3 row data of your example
temp = pd.Series(data=["DA33", "", "FK33-2"], index=[70015,69999, 69998])
temp.index.name = "SITE_NUMBER"
temp.name = "FEEDERID"
print(type(temp))
print(temp)

# transform type from Series to DataFrame
# you see the name of Series should beoome the column name of DataFrame
temp = pd.DataFrame(data=temp)
print(type(temp))
print(temp)

Demo Display

0
AyiFF 29 Окт 2019 в 07:22
@ user2293224 , Серия pandas - это одномерные данные, поэтому понятие столбцов отсутствует. На этом этапе имя серии - это имя столбца, которое вы хотите, и оно будет отображаться ниже при печати. Если вы хотите использовать концепцию столбца, то есть имя столбца отображается над значением столбца для последующего интеллектуального анализа данных, вы должны сначала преобразовать тип данных в тип dataFrame панд.
 – 
AyiFF
29 Окт 2019 в 07:29