【问题标题】:How can I plot a bar chart showing total sales for different types of store types in Python?如何在 Python 中绘制显示不同类型商店类型的总销售额的条形图?
【发布时间】:2019-01-12 12:12:13
【问题描述】:

我有一个数据集(不是下面的,而是类似的),我试图用 Python 绘制一个条形图,以便我可以可视化由不同类型的“出口类型”制成的“总销售额” .

╔══════════╦════════════════════╦═══════╗
║ Location ║    Outlet_Type     ║ Sales ║
╠══════════╬════════════════════╬═══════╣
║ Bandra   ║ Supermarket Type 1 ║   125 ║
║ Worli    ║ Supermarket Type 2 ║   150 ║
║ Wadala   ║ Supermarket Type 3 ║   100 ║
║ Chembur  ║ Supermarket Type 2 ║   100 ║
║ Kalina   ║ Supermarket Type 3 ║   110 ║
║ Dadar    ║ Supermarket Type 3 ║   115 ║
║ Korba    ║ Supermarket Type 2 ║   135 ║
║ Asavari  ║ Supermarket Type 1 ║   145 ║
╚══════════╩════════════════════╩═══════╝

所以从上面的数据来看,我的条形图应该有,

X 轴:“超市类型 1”、“超市类型 2”和“超市类型 3”
Y 轴:不同类型网点的总销售额

所以

的吧

'Supermarket Type 1' 的值为 270
'Supermarket Type 2' 的值为 385
'Supermarket Type 3' 的值为 325

在 SQL 术语中,它类似于执行“分组依据”,但在 Python 中我无法这样做,而是暂时使用数据透视表。

data.pivot_table(values = 'Sales', index = 'Outlet_Type')

【问题讨论】:

    标签: python pandas matplotlib charts


    【解决方案1】:

    按插座类型进行汇总和绘图:

    import matplotlib.pyplot as plt
    data.groupby('Outlet_Type').sum()['Sales'].plot.bar()
    plt.xticks(rotation=0)
    plt.tight_layout()
    plt.show()
    

    有关如何增强图表的信息,请参阅 matplotlib 文档。

    【讨论】:

    • 嗨@DYZ 感谢您的帮助。我在我的数据集上尝试了它并且它有效。自昨天以来,确实搜索了很多文档和示例,但没有运气。虽然现在看来我看错了地方。
    【解决方案2】:

    你真的很接近。在您当前的方法中只是缺少aggfunc,所以pivot_table 不求和:

    import matplotlib.pyplot as plt
    
    data.pivot_table(values = 'Sales', index = 'Outlet_Type', aggfunc='sum').plot(kind='bar')
    plt.tight_layout()
    plt.show()
    

    【讨论】:

    • 嗨@user3483203(克里斯),非常感谢您的帮助,它成功了。 Y 轴上的结果以指数形式出现,因此这个比例最初让我有点困惑,天哪!我不知道我们实际上可以使用“绘图”功能直接从数据透视表中绘制结果。周末愉快! :)
    猜你喜欢
    • 2017-07-13
    • 1970-01-01
    • 2016-09-14
    • 2022-12-31
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多