3

我正在读取仅包含可用时间的时间序列数据。这导致一个Series没有缺失值,但不等间距的索引。我想将其转换为Series具有缺失值的等距索引的 a 。由于我不知道先验的间距是多少,所以我目前正在使用类似的函数

min_dt      = np.diff(series.index.values).min()
new_spacing = pandas.DateOffset(days=min_dt.days, seconds=min_dt.seconds,
                                microseconds=min_dt.microseconds)
series      = series.asfreq(new_spacing)

计算间距应该是多少(请注意,这是使用 Pandas 0.7.3 - 0.8 beta 代码看起来略有不同,因为我必须使用 series.index.to_pydatetime() 来获得 Numpy 1.6 的正确行为)。

使用 pandas 库是否有更简单的方法来执行此操作?

4

1 回答 1

0

如果你想在没有数据的地方使用 NaN,你可以Minute()在 datetools 中使用(从 pandas 0.7.x 开始)

from pandas.core.datetools import day, Minute
tseries.asfreq(Minute())

这应该提供一个间隔均匀的时间序列,其中 NaN 作为没有数据的序列值有 1 分钟的差异。

于 2012-06-27T16:07:34.543 回答