2017-10-04 108 views
1

我想在pandas的多索引列數據框中重命名我的一個級別。更改多索引列的df.columns.names

df.columns.names 

給我

FrozenList(['level0', 'level1']) 

我想重命名 '0級' 到 '主'。

我曾嘗試不同的方法,沒有工作:

df.columns.set_names('findingkey', level=0, inplace=True) 

給我TypeError: 'list' object is not callable

我也試圖直接做到這一點:

df.columns.names[0]='main' 

與輸出:TypeError: 'FrozenList' does not support mutable operations.

回答

1

使用:

df.columns.names = ['main', 'level1'] 

或者

df = df.rename_axis(['main', 'level1'], axis=1) 
+0

第一個作品,我只是感到不解的df.columns.names [0] = '主' 沒有再工作... – Moiraine24

+0

嗯,我認爲錯誤是明確的 - ''FrozenList'不支持可變操作',所以只分配所有新的值。 – jezrael

+0

並且沒有方法允許只重命名一個? – Moiraine24