【问题标题】:Plotting a time series?绘制时间序列?
【发布时间】:2017-09-28 04:34:30
【问题描述】:

我对使用 python 作为数据分析工具真的很陌生,这是我第一次处理时间序列。我有一个数据集,第一列中有日期,“结果”整数是 1 或 0。日期列已成功转换为时间对象。我尝试使用 matplotlib 的 plot 函数直接绘制值,但这不起作用.. 示例:

    Date       Result
2017-01-06     0.0
2017-01-06     1.0
2017-01-06     0.0
2017-01-07     0.0
2017-01-07     0.0

我尝试使用 df.plot(),但生成的绘图结果非常不理想。

一天结束时我想要的是 x 轴上的日期和 y 轴上的“结果”。我哪里错了?我在做什么有什么问题? 编辑:Here's the graph

【问题讨论】:

  • 您应该向我们展示您的代码。否则,我们怎么知道你可能做错了什么?
  • 好吧,我所做的只是使用这个新创建的 df 并简单地使用了 df.plot(),结果图在 X 轴上没有日期,只有一个范围 0 -> 2000
  • 您有一个名为df 的东西的事实表明使用熊猫。然后,除此之外,您只有两个不同的日期。我想知道你希望得到什么样的情节,以及你做了什么。
  • 我确实使用过 pandas,数据框是一个简单的 2 列 df、日期列和结果列,其值为 0 或 1。我想按时间绘制每个时间戳的值。
  • 试试df.set_index('Date').plot()df.plot(x='Date', y='Result')。我猜这是因为df 的绘图使用索引作为 x 轴。所以对于你的df,它默认为 0->2000。所以将“日期”列设置为索引,然后再试一次

标签: python pandas matplotlib time-series


【解决方案1】:

请使用

df.set_index('Date').plot()

df.plot(x='Date', y='Result')

由于绘图默认使用索引df 作为 x 轴,因此您应该将“日期”列设置为索引,或者指定使用哪一列作为 x 轴。

pandas.DataFrame.plot查看更多信息

【讨论】:

  • 祝福你。我一直在研究这个问题,这是我看到的第一个切入问题核心的答案。现在我知道 matplotlib 在 x 轴上绘制索引,这很有意义。干杯!
猜你喜欢
  • 2015-04-02
  • 2018-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-10
  • 2014-06-03
  • 2020-04-09
相关资源
最近更新 更多