使用日期索引的时间序列数据在x轴上绘制经过时间

use*_*443 3 python time-series matplotlib pandas

在我的熊猫数据框中,我的时间序列数据通过绝对时间(格式为YYYY-MM-DD HH24:MI:SS.nnnnn的日期)建立索引:

2017-01-04 16:25:25.143493    58
2017-01-04 16:25:26.145494    62
2017-01-04 16:25:27.147495    57
2017-01-04 16:25:28.149496    51
2017-01-04 16:25:29.151497    61
Run Code Online (Sandbox Code Playgroud)

如何绘制这些数据,以使绘图的x轴相对于我的第一个样本的时间戳而言,是秒间隔的增加值(例如“ 0 10 20 30 40 50”)?我需要使用“句点”还是使用asfreq()转换为频率?还是应该使用DateFormatter?

该文档有点混乱,似乎没有任何好的示例-大多数时间序列示例似乎都是围绕粗略的时间间隔,例如几个月或几年。

Ted*_*rou 5

您可以将datetimeindex转换为timedeltaindex,然后进行绘图。

df.index = df.index - df.index[0]
df.plot()
Run Code Online (Sandbox Code Playgroud)

  • 如果需要绘制秒数,那么我将使用`TimeDeltaIndex`-(df.index-df.index [0])。seconds的seconds属性。 (2认同)