首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何按周和年绘制时间序列数据?

如何按周和年绘制时间序列数据?
EN

Stack Overflow用户
提问于 2018-10-17 08:54:36
回答 2查看 6.6K关注 0票数 3

我有一个简单的时间序列数据(“猫”)。按年和周分列的交易。我只想要一张有年轮和周轴的线图。

代码语言:javascript
复制
    year    week    transactions
0   2013    25      1824
1   2013    26      1876392
2   2013    27      2048913
3   2013    28      2060043
4   2013    29      1864779
5   2013    30      1844886
6   2013    31      2089084
7   2013    32      2017478
8   2013    33      1927819
9   2013    34      1965046

我可以让这条线在这里工作,但它只绘制了与索引的对比图。

plt.plot(cats['total_sales'])

但是当我试图添加一个轴时,会发生类似这样的事情

plt.plot(cats['year'],cats['total_sales'])

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-17 09:28:18

您可以从您的年份和周号创建一列适当的日期时间:

代码语言:javascript
复制
# %U assumes Monday as first day of the week. Use %W for Sunday
cats['week_yr'] = pd.to_datetime(cats['year'].astype(str) + ' ' + cats['week'].astype(str) + ' 1',
                                format='%Y %U %w')

然后你就可以:

代码语言:javascript
复制
cats.plot.line(x='week_yr', y='transactions')

并得到:

票数 5
EN

Stack Overflow用户

发布于 2018-10-17 09:07:07

使用plt.xticks

代码语言:javascript
复制
x = range(len(cats['total_sales']))
plt.plot(x, cats['total_sales'])
plt.xticks(x, zip(cats['year'], cats['week']))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52850910

复制
相关文章

相似问题

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