Python pandas转向非唯一索引

时间:2015-03-26 12:16:49

标签: python python-3.x pandas

我有一个df,其日期为索引,两列数字和类别如下

 
    number  category
date        
2015-01-02  6.44    a
2015-01-02  100.00  n
2015-01-02  NaN     a
2015-01-02  0.19    d
2015-01-02  25.00   m
2015-01-02  1.00    n
2015-01-05  455.00  d
2015-01-05  18.78   m
2015-01-05  9.85    s

我想要做的是找到每个“类别”和每个月的“数字”总和。我认为最好的选择是做一个类似

的数据透视表
 df.pivot(index='date', columns='category', values='number')

但我收到错误,因为日期值不是唯一的。

任何想法?

1 个答案:

答案 0 :(得分:1)

我相信你想要pivot_table而不是pivot

注意:由于日期似乎是索引,我首先执行reset_index

df.reset_index().pivot_table(index = "date",columns = "category", 
                            values = "number", aggfunc = "sum")

产量

category    a     d       m      n    s
date                    
2015-01-02  6.44  0.19    25.00  101  NaN
2015-01-05  NaN   455.00  18.78  NaN  9.85