【发布时间】:2013-08-18 21:14:47
【问题描述】:
我遇到了熊猫时间序列 (Python) 的重采样函数的一种相当奇怪的行为。我用的是最新版的熊猫(0.12.0)
采取以下时间序列:
dates = [datetime(2011, 1, 2, 1), datetime(2011, 1, 2, 2), datetime(2011, 1, 2, 3),
datetime(2011, 1, 2, 4), datetime(2011, 1, 2, 5), datetime(2011, 1, 2, 6)]
ts = Series(np.arange(6.), index=dates)
然后尝试重新采样到 66s 和 65s。这是我得到的结果:
In [45]: ts.resample('66min')
Out[45]:
2011-01-02 01:00:00 0.5
2011-01-02 02:06:00 2.0
2011-01-02 03:12:00 3.0
2011-01-02 04:18:00 4.0
2011-01-02 05:24:00 5.0
Freq: 66T, dtype: float64
In [46]: ts.resample('65min')
Out[46]:
2011-01-02 01:00:00 0
2011-01-02 02:05:00 NaN
2011-01-02 03:10:00 NaN
2011-01-02 04:15:00 NaN
2011-01-02 05:20:00 NaN
2011-01-02 06:25:00 NaN
Freq: 65T, dtype: float64
我理解重采样到 66 秒时的行为。它总是取相应区间内所有值的平均值(默认值)。 我不明白也不知道如何影响 65 岁的行为。
这是一个简化的问题。背景是一个更复杂的数据校正过程,涉及重采样。
有什么想法吗?
【问题讨论】:
-
您必须选择
fill_method。您希望得到什么结果?
标签: python pandas time-series resampling