2016-05-27 2 views
2

Учитывая следующий кадр данных и сводной таблицы:Панды Сводная таблица отрезают 0 Индекс

df=pd.DataFrame({'A':['a','a','a','a','a','b','b','b','b'], 
       'B':['x','y','z','x','y','z','x','y','z'], 
       'C':['a','b','a','b','a','b','a','b','a'], 
       'D':[7,5,3,4,1,6,5,3,1]}) 
table = pd.pivot_table(df, index=['A', 'B','C'],aggfunc='sum') 
table 

      D 
A B C 
a x a 7 
     b 4 
    y a 1 
     b 5 
    z a 3 
b x a 5 
    y b 3 
    z a 1 
     b 6 

Я хочу сводную таблицу точно, как она есть, минус уровень индекса 0, как это:

  D 
B C 
x a 7 
    b 4 
y a 1 
    b 5 
z a 3 
x a 5 
y b 3 
z a 1 
    b 6 

Заранее благодарен!

ответ

3

Вы можете выборочно уронить уровень индекса, используя reset_index с парами drop=True:

In [95]: 
table.reset_index('A', drop=True) 

Out[95]: 
    D 
B C 
x a 7 
    b 4 
y a 1 
    b 5 
z a 3 
x a 5 
y b 3 
z a 1 
    b 6 
1

Вы можете использовать droplevel на индексе:

table.index = table.index.droplevel(0).