从熊猫中的子组聚合中创建列

时间:2018-10-31 23:10:04

标签: python pandas pandas-groupby

我正在尝试制作精美的堆叠条形图,其中我的x轴值是某些groupby运算(年和月)的结果,而需要堆叠的值是对a进行聚合运算的结果(总和)。单列,但agg取决于另一列的值。

这里是例子。首先,我有一个这样的表:

   year month amount category
0  2017     1     10      red
1  2017     1     40      blue
2  2017     1     10      blue
2  2017     2     15      blue
3  2016     3     20      blue
4  2016     6      5      red

我想创建一个适合我要构建的图的表。由于我正在尝试在x轴上绘制(年,月)对,并且每个类别中的金额叠加在一起,因此,我认为我想要的表格是这样的:

           amount_red amount_blue
year month 
2016     3          0          20
2016     6          5           0
2017     1         10          50
         2          0          15

我知道除了年份和月份以外,我还可以按类别分组,然后汇总,但是我不希望类别作为索引中的值,因为我不想在x轴上将其分类。我需要在列中的每个类别上都有汇总的结果,以便为我的图叠加。

当我拥有df时,我将使用:df.plot.bar(stacked=True)

我应该在整个表上创建自定义聚合器吗? 我应该在进行分组依据之前按每个类别进行筛选,然后最后尝试全部合并吗? 因为我只想要一个情节,所以我会做错所有的事情吗?

0 个答案:

没有答案