在多列上分组时如何绘制条形图?
Posted
技术标签:
【中文标题】在多列上分组时如何绘制条形图?【英文标题】:How to plot a Bar graph when grouping on multiple columns? 【发布时间】:2019-08-16 11:31:19 【问题描述】:按日期分组数据:
grouped = tickets.groupby(['date'])
size = grouped.size()
size
然后使用:
size.plot(kind='bar')
结果:
但是,我需要按日期对数据进行分组,然后对 modeofcommunication 进行分组,最后绘制每个子组的计数。
grouped = df.groupby([‘date’,’modeofcommunication'])
size = grouped.size()
size
结果如下:
date modeofcommunication
2019-03-15 Chat 2
Internal Email 2
Phone 4
2019-03-16 Chat 25
Email 20
Feedback Form 2
Phone 6
2019-03-17 Chat 23
Email 68
Feedback Form 13
Internal Email 3
2019-03-18 Chat 1822
Email 57
Facebook 14
Feedback Form 11
Internal Email 11
Phone 812
Twitter 4
如何为分组数据绘制条形图,以便每个子组(通信模式)的计数表示为父组下的垂直条?
【问题讨论】:
【参考方案1】:我相信你需要 Series.unstack
和 DataFrame
从 MultiIndex Series
然后 DataFrame.plot.bar
:
size.unstack().plot.bar()
或者:
size.unstack().plot.bar(stacked=True)
【讨论】:
谢谢@jezraeil。这两种解决方案都运行良好,正是我想要的。以上是关于在多列上分组时如何绘制条形图?的主要内容,如果未能解决你的问题,请参考以下文章