我创建了一个 DatetimeIndex,我想用该索引重新采样数据。当我这样做时,我得到一个例外:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pandas-0.8.1-py2.7-linux-i686.egg/pandas/core/generic.py", line 188, in resample
limit=limit, base=base)
File "/usr/local/lib/python2.7/dist-packages/pandas-0.8.1-py2.7-linux-i686.egg/pandas/tseries/resample.py", line 41, in __init__
self.freq = to_offset(freq)
File "/usr/local/lib/python2.7/dist-packages/pandas-0.8.1-py2.7-linux-i686.egg/pandas/tseries/frequencies.py", line 392, in to_offset
raise ValueError("Could not evaluate %s" % freqstr)
ValueError: Could not evaluate <class 'pandas.tseries.index.DatetimeIndex'>
[2012-03-02 09:00:00, ..., 2012-03-02 15:00:00]
Length: 73, Freq: 5T, Timezone: None
似乎 TimeGrouper.resample 应该处理 DatetimeIndex 但在 TimeGrouper init 中调用 to_offset 却没有。但我可能会在这里遗漏一些东西。
知道如何通过索引重新采样吗?或者也许是一种解决方法 - 我想要做的只是按某个频率(比如 1 分钟)进行采样,但开始/结束时间不一定在原始时间序列中有数据点(我试图有一堆从上午 8 点到下午 4 点采样的时间序列,但有些只有上午 9:30 的值,有些是上午 10 点等)