【问题标题】: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

如何为分组数据绘制条形图,以便每个子组(通信模式)的计数表示为父组下的垂直条?

【问题讨论】:

    标签: pandas matplotlib data-science


    【解决方案1】:

    我相信你需要 Series.unstackDataFrameMultiIndex Series 然后 DataFrame.plot.bar:

    size.unstack().plot.bar()
    

    或者:

    size.unstack().plot.bar(stacked=True)
    

    【讨论】:

    • 谢谢@jezraeil。这两种解决方案都运行良好,正是我想要的。
    猜你喜欢
    • 1970-01-01
    • 2018-01-06
    • 2021-11-25
    • 2019-07-29
    • 2020-04-13
    • 1970-01-01
    • 2020-09-29
    • 2020-07-12
    相关资源
    最近更新 更多