我有一个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')
但我收到错误,因为日期值不是唯一的。
任何想法?
答案 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