AttributeError: невозможно удалить атрибут - PullRequest
1 голос
/ 17 апреля 2020

У меня был этот фрейм данных df1

              Type  Count
0  Entire home/apt   5326
1       Hotel room    249
2     Private room   5570
3      Shared room    628

После транспонирования df1 транспонированный фрейм данных df2 выглядел следующим образом

df2 = df1.T
df2 .columns = df2 .iloc[0]
df2 = df2 [1:]

print(df2.index)
Out: Index(['Count'], dtype='object')

print(df2.columns)
Out: Index(['Entire home/apt', 'Hotel room', 'Private room', 'Shared room'], dtype='object', name='Type')

print(df2)
Out:
Type    Entire home/apt Hotel room  Private room    Shared room
Count   5326            249         5570            628

Я хотел получить желаемый фрейм данных, который должен выглядеть следующим образом (где заголовок Type исчез)

        Entire home/apt Hotel room  Private room    Shared room
Count   5326            249         5570            628

, используя этот код для удаления Type из имени столбца

del df2.columns.name

Однако, это привело к ошибке AttributeError: can't delete attribute

Может кто-нибудь объяснить, что это значит и как решить, чтобы получить нужный кадр данных?

Спасибо.

Редактировать : обратите внимание, эта запись не отвечала на мой вопрос, так как удалила имена / заголовки столбцов. Я только хотел удалить имя атрибута (в данном случае Type) из имени столбца.

Ответы [ 2 ]

1 голос
/ 19 апреля 2020

Использование DataFrame.rename_axis:

df2 = df2.rename_axis(None, axis=1)
0 голосов
/ 19 апреля 2020

Версия этого ответа .

Pandas по умолчанию необходимо имена столбцов.

Чтобы вы могли сделать что-то подобное, чтобы скрыть это

df2.rename(columns={'Type': ''}, inplace=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...