【问题标题】:Stacked Bar Chart Python from pivot/groupby table来自透视/分组表的堆积条形图 Python
【发布时间】:2020-08-22 07:25:32
【问题描述】:

这是一个示例数据。如何在 Y 轴上获得总金额,季度为堆叠,地区和年份在 X 轴上。

Region Year   Quarter  Sum Amount
 A     2016     1       100
                2       80
                3       70
                4       10
       2017     1       90
                2       50
                3       60
                4       30
B      2016     1       120
                2       80
                3       90
                4       20
       2017     2       80
                3       100

【问题讨论】:

    标签: python pandas graph bar-chart visualization


    【解决方案1】:
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    import random
    
    # data
    random.seed(365)
    data = {'Year': [random.choice([2016, 2017]) for _ in range(1000)],
            'Region': [random.choice(['A', 'B']) for _ in range(1000)],
            'Quarter': [random.choice([1, 2, 3, 4]) for _ in range(1000)],
            'Value': [np.random.randint(10) for _ in range(1000)]}
    
    # dataframe
    df = pd.DataFrame(data)
    
    # groupby
    gb = df.groupby(['Region', 'Year', 'Quarter'])['Value'].sum().unstack()
    
         Quarter      1   2   3   4
    Region  Year                
         A  2016    306 279 221 261
            2017    209 250 292 415
         B  2016    262 296 261 260
            2017    209 349 272 315
    
    # plot
    gb.plot.bar(stacked=True)
    plt.legend(title='Quarter', loc='center left', bbox_to_anchor=(1, 0.5))
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 2018-10-07
      • 2012-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-10
      • 1970-01-01
      相关资源
      最近更新 更多