如何使用具有重复索引的数据透视表

时间:2018-07-19 10:40:22

标签: python pandas dataframe data-analysis

我有这样的df _,

name  level  status
yes   high   open
no    high   closed
no    med    closed
yes   low    open
no    med    rejected
no    high   open

我正在尝试使用index='level',columns='status', values=sum of occurances with respect to the column and index

创建数据透视表

我的代码:

df_['temp']=df_['level'].astype(bool).astype(int)
df_.pivot(index='level',columns='status',values='temp')

但是给我ValueError: Index contains duplicate entries, cannot reshape

我的预期输出是

      open closed rejected
high  2    1      0
med   0    1      1
low   1    0      0

请检查并告诉我是否还有其他简便方法。

1 个答案:

答案 0 :(得分:3)

一种更简单的方法是计算name的出现次数:

df_.pivot_table(values='name',
                index='level',
                columns='status',
                aggfunc='count',
                fill_value=0)