堆积的数据在熊猫中的直方图

时间:2015-11-11 22:17:24

标签: python pandas plot histogram

假设我有一个包含很多值的数据框(df),包括两列X和Y.我想创建一个堆叠直方图,其中每个bin是X中的分类值(比如A和B),里面每个bin都是Y中的值堆栈(比如a,b,c,...)。

我可以运行df.groupby([“X”,“Y”])。size()来得到如下所示的输出,但是如何从中得到叠加的直方图呢?

A      a      14
       b      41
       c       4
       d       2
       e       2
       f      15
       g       1
       h       3
B      a      18
       b     37
       c       1
       d       3
       e       1
       f      17
       g       2

1 个答案:

答案 0 :(得分:0)

所以,我想我想出来了。第一个需要使用堆栈数据; .unstack(级别= -1)

这将把它变成一个n×m数组的结构,其中n是X个条目的数量,m是Y个条目的数量。从这个表格你可以按照这里给出的大纲: http://pandas.pydata.org/pandas-docs/stable/visualization.html

总的来说,命令将是:

df.groupby(["X","Y"]).size().unstack(level=-1).plot(kind='bar',stacked=True)

虽然有点笨拙!