如何在Python中绘制超过2列的直方图?

时间:2018-11-14 16:48:28

标签: python pandas

我对客户行为有一个了解,如下所示:

customer_id segment      pagea   pageb   pagec   paged    ...
01            male        2         3       0        6  
02            female      3         0       0        2
03            female      4         10      2        15
04            male        8         11      3        7
05            male        0         0       0        0  
06            female      1         0       2        1
 ...        ...

我想创建一个直方图,显示每个细分市场(男性和女性)在每个页面上的点击分布。我只知道如何在两列中做到这一点:

df.set_index('a')['segment'].plot.bar()

如何在多个列上创建?

1 个答案:

答案 0 :(得分:1)

IIUC,您想要这样的东西吗?

df.melt(['customer_id', 'segment'])\
  .set_index(['variable','segment'])\
  .sum(level=[0,1]).unstack()['value'].plot.bar()

输出:

enter image description here