Python 更改多索引列的df.columns.names
我想在pandas中的多索引列数据框中重命名我的一个级别Python 更改多索引列的df.columns.names,python,pandas,multi-index,Python,Pandas,Multi Index,我想在pandas中的多索引列数据框中重命名我的一个级别 df.columns.names 给我 FrozenList(['level0', 'level1']) 我想将“level0”重命名为“main” 我尝试过不同的方法,但没有一种有效: df.columns.set_names('findingkey', level=0, inplace=True) 给我TypeError:“list”对象不可调用 我也试着直接做: df.columns.names[0]='main' 输出:
df.columns.names
给我
FrozenList(['level0', 'level1'])
我想将“level0”重命名为“main”
我尝试过不同的方法,但没有一种有效:
df.columns.set_names('findingkey', level=0, inplace=True)
给我TypeError:“list”对象不可调用
我也试着直接做:
df.columns.names[0]='main'
输出:TypeError:“FrozenList”不支持可变操作。
使用:
df.columns.names = ['main', 'level1']
或
第一个有效,我只是对df.columns.names[0]='main'不起作用感到困惑…嗯,我认为错误很明显-
'FrozenList'不支持可变操作,所以只分配所有新值有效。而且没有方法只允许重命名一个?不幸的是:(仅df.columns.names=['main']+[df.columns.names][1] ]
-但这有点疯狂;)
df = df.rename_axis(['main', 'level1'], axis=1)