Pandas Pivot Table Slice关闭指数0级

时间:2016-05-27 15:38:39

标签: python-3.x pandas pivot-table

给出以下数据框和数据透视表:

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

提前致谢!

2 个答案:

答案 0 :(得分: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 :(得分:1)

您可以在索引上使用droplevel:

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