我怎样才能将我的时间索引转换为 seasonal_decompose?

How can i convert my time index to do a seasonal_decompose?

我有一个信号数据,在 pandas 数据帧中看起来像这样 - df .

time  val
0     152
1     152
2     153
.     .
.     .

511 rows

'time' 值以秒为单位,'val' 表示振幅。

df.index = Int64Index([  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
        ...
        501, 502, 503, 504, 505, 506, 507, 508, 509, 510],
       dtype='int64', name='time', length=511)

我的最终目标是使用

对该时间序列数据执行季节性分解
sm.tsa.seasonal_decompose 

来自

statsmodels.api

当我在几秒钟内重新采样 'time' 时,它会很好地工作。

然而,这需要 'time' 数据是 DatetimeIndex、TimedeltaIndex 或 PeriodIndex,而它是 int64。

我被困在这里了。任何建议都会很有帮助。

我的建议是:

secs = []
for i in range(len(df['val'])):
     secs.append(np.timedelta64(i, 's'))

df['time'] = secs

你最终会得到这个数据框:

     val     time
0    152 00:00:00
1    153 00:00:01
2    154 00:00:02
3    155 00:00:03
4    156 00:00:04
..   ...      ...
143  295 00:02:23 

让我知道它是否适合你。