我有以下格式的数据,我想做的是:
1)遍历Region中的每个值
2)对于每个区域,绘制汇总(跨类别)销售数字的时间序列.
Date |Region |Category | Sales
01/01/2016| USA| Furniture|1
01/01/2016| USA| Clothes |0
01/01/2016| Europe| Furniture|2
01/01/2016| Europe| Clothes |0
01/02/2016| USA| Furniture|3
01/02/2016| USA|Clothes|0
01/02/2016| Europe| Furniture|4
01/02/2016| Europe| Clothes|0 …
该图应看起来像附件(在Excel中完成).

但是,如果我尝试使用以下代码在Python中执行此操作,则当我真的希望所有线条都显示在一个图中时,会得到多个图表.
Python代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.read_csv(r'C:\Users\wusm\Desktop\Book7.csv')
plt.legend()
for index, group in df.groupby(["Region"]):
group.plot(x='Date',y='Sales',title=str(index))
plt.show()
缺少重新格式化数据的格式,任何人都可以建议如何在一个图中获得图形吗?
解决方法:
df = df.pivot_table(index='Date', columns='Region', values='Sales', aggfunc='sum')
print (df)
Region Europe USA
Date
01/01/2016 2 1
01/02/2016 4 3
df = df.groupby(['Date', 'Region'])['Sales'].sum().unstack(fill_value=0)
print (df)
Region Europe USA
Date
01/01/2016 2 1
01/02/2016 4 3
df.plot()
标签:pandas,matplotlib,python
来源: https://codeday.me/bug/20191111/2018658.html
本文介绍了如何使用Python的pandas和matplotlib库,通过for循环遍历数据,将不同地区的销售时间序列图绘制在同一张图表中,解决了原本产生多个独立图表的问题。示例数据包括日期、地区、类别和销售额,最终通过数据透视和聚合实现了目标效果。

被折叠的 条评论
为什么被折叠?



