我想为一年中的销售绘制一个条形图。X轴为'year',y轴为每年每周销售额之和.在策划的时候,我得到了'KeyError: 'year'。我想这是因为'year'在分组时成为索引。
下面是csv文件中的示例内容:
Store year Weekly_Sales
1 2014 24924.5
1 2010 46039.49
1 2015 41595.55
1 2010 19403.54
1 2015 21827.9
1 2010 21043.39
1 2014 22136.64
1 2010 26229.21
1 2014 57258.43
1 2010 42960.91下面是我用来分组的代码
storeDetail_df = pd.read_csv('Details.csv')
result_group_year= storeDetail_df.groupby(['year'])
total_by_year = result_group_year['Weekly_Sales'].agg([np.sum])
total_by_year.plot(kind='bar' ,x='year',y='sum',rot=0)更新了代码,下面是输出: DataFrame输出:
year sum
0 2010 42843534.38
1 2011 45349314.40
2 2012 35445927.76
3 2013 0.00下面是我得到的图表:

发布于 2018-09-16 16:06:15
在读取csv文件时,需要使用空格作为分隔符作为delim_whitespace=True,然后在总结Weekly_Sales之后重置索引。以下是工作守则:
storeDetail_df = pd.read_csv('Details.csv', delim_whitespace=True)
result_group_year= storeDetail_df.groupby(['year'])
total_by_year = result_group_year['Weekly_Sales'].agg([np.sum]).reset_index()
total_by_year.plot(kind='bar' ,x='year',y='sum',rot=0, legend=False)输出

发布于 2018-09-16 16:05:06
如果是因为按命令分组而使年份成为您的索引。在绘图之前,需要将其作为索引删除。试一试
total_by_year = total_by_year.reset_index(drop=False, inplace=True)发布于 2018-09-16 16:05:10
你可能想试试这个
storeDetail_df = pd.read_csv('Details.csv')
result_group_year= storeDetail_df.groupby(['year'])['Weekly_Sales'].sum()
result_group_year = result_group_year.reset_index(drop=False)
result_group_year.plot.bar(x='year', y='Weekly_Sales')https://stackoverflow.com/questions/52355881
复制相似问题