2014-09-11 5 views
0

У меня есть DataFrame df, df.columns которого является иерархическим идентификатором MultiIndex idx (с 2 слоями).Изменение некоторых уровней в MultiIndex

idx = df.columns 

Этот idx.levels является FrozenList с

len(idx.levels) == 2 

idx.levels [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 метод DataFrame:

df = df.rename(columns={'Foo4':'x1', 'Foo5':'x1', 'Foo3':'x2'}) 
Смежные вопросы