如何在Python中绘制条形图以显示不同类型商店类型的总销售额?

时间:2018-08-05 07:26:14

标签: python pandas matplotlib charts

我有一个数据集(不是下面的数据集,而是类似的数据集),我试图从该数据集中用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轴:来自不同类型网点的总销售额

所以

“超市类型1”的值为270
“超市类型2”的价值为385
“超级市场类型3”的值为325

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

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

2 个答案:

答案 0 :(得分: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()

enter image description here

答案 1 :(得分:1)

按出口类型以及总和图进行分组:

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

enter image description here 有关如何增强图表,请查阅matplotlib文档。