您需要删除列名称:
df.rename_axis(None, axis=1).rename_axis('id', axis=0)##if pd.__version__ == 0.24.0 #df.rename_axis([None], axis=1).rename_axis('id')问题是
'summary'您的列名。如果没有索引名称,则列名称将直接放在索引上方,这可能会引起误解:
import pandas as pddf = pd.Dataframe([[1]*2]*4, columns=['A', 'B'])df.columns.name = 'col_name'print(df)#col_name A B#0 1 1#1 1 1#2 1 1#3 1 1
然后,当您尝试添加索引名称时,很明显这
'col_name'实际上是列名称。
df.index.name = 'idx_name'print(df)#col_name A B#idx_name #0 1 1#1 1 1#2 1 1#3 1 1
但是,这没有歧义:当您拥有索引名称时,列会被提升一级,这使您可以区分索引名称和列名称。
df = pd.Dataframe([[1]*2]*4, columns=['A', 'B'])df.index.name = 'idx_name'print(df)# A B#idx_name #0 1 1#1 1 1#2 1 1#3 1 1



