2014-09-11 68 views
0

我有一个DataFrame df,其df.columns是一个分层MultiIndex idx(具有2层)。更改MultiIndex中的某些级别

idx = df.columns 

这idx.levels是

len(idx.levels) == 2 

idx.levels一个FrozenList [0]是好的,idx.levels [1]是具有9种元素的索引对象。 DTYPE = '对象'。

idx.levels[1] == Index(['Foo1', 'Foo2', 'Foo3', 'Foo4', 'Foo5', 'Foo6', 'Foo7', 'Foo8', 'Foo9'], dtype='object') 

我需要重命名这两个 'Foo4' 和 'Foo5' 到 'X1' 和 'Foo3' 到 'X2'

我该怎么办呢?当然,我需要原始数据框来反映这些变化。

回答

1

您可以使用数据框的rename方法:

df = df.rename(columns={'Foo4':'x1', 'Foo5':'x1', 'Foo3':'x2'})