首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >群图和图条图

群图和图条图
EN

Stack Overflow用户
提问于 2018-09-16 15:57:24
回答 3查看 1.7K关注 0票数 2

我想为一年中的销售绘制一个条形图。X轴为'year',y轴为每年每周销售额之和.在策划的时候,我得到了'KeyError: 'year'。我想这是因为'year'在分组时成为索引。

下面是csv文件中的示例内容:

代码语言:javascript
复制
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

下面是我用来分组的代码

代码语言:javascript
复制
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输出:

代码语言:javascript
复制
   year          sum
0  2010  42843534.38
1  2011  45349314.40
2  2012  35445927.76
3  2013         0.00

下面是我得到的图表:

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-09-16 16:06:15

在读取csv文件时,需要使用空格作为分隔符作为delim_whitespace=True,然后在总结Weekly_Sales之后重置索引。以下是工作守则:

代码语言:javascript
复制
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)

输出

票数 4
EN

Stack Overflow用户

发布于 2018-09-16 16:05:06

如果是因为按命令分组而使年份成为您的索引。在绘图之前,需要将其作为索引删除。试一试

代码语言:javascript
复制
total_by_year = total_by_year.reset_index(drop=False, inplace=True)
票数 0
EN

Stack Overflow用户

发布于 2018-09-16 16:05:10

你可能想试试这个

代码语言:javascript
复制
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')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52355881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档