我有一个像下面的
的MultiIndex Dataframe df Office
Office
x True 2
y False 3
z True 5
如果我重置df.reset_index(),它将错误为
"cannot insert Office, already exists"
如何将较高的(在第一行中出现)索引名称“Office”重命名为“Office1”
答案 0 :(得分:3)
您可以使用rename_axis
或设置index.names
来重命名MultiIndex
和rename
中的索引名称以获取更改列名称:
#if only rename get Unnamed column
df1 = df.rename(columns={'Office':'another col'}).reset_index()
print (df1)
Office Unnamed: 1 another col
0 x True 2
1 y False 3
2 z True 5
df2 = df.rename_axis(('Office', 'bool')).rename(columns={'Office':'Office2'}).reset_index()
print (df2)
Office bool Office2
0 x True 2
1 y False 3
2 z True 5
df.index.names = ('Office1','bool')
df3 = df.rename(columns={'Office':'Office2'}).reset_index()
print (df3)
Office1 bool Office2
0 x True 2
1 y False 3
2 z True 5