我在 pandas 中有一个时间序列,如下所示:
2012-01-01 00:00:00.250000 12
2012-01-01 00:00:00.257000 34
2012-01-01 00:00:00.258000 45
2012-01-01 00:00:01.350000 56
2012-01-01 00:00:02.300000 78
2012-01-01 00:00:03.200000 89
2012-01-01 00:00:03.500000 90
2012-01-01 00:00:04.200000 12
有没有办法在不对齐 1 秒边界的情况下将其下采样为 1 秒数据?例如,是否有办法获取这些数据(假设使用采样时间之前或采样时间出现的最新值进行下采样):
2012-01-01 00:00:00.250000 12
2012-01-01 00:00:01.250000 45
2012-01-01 00:00:02.250000 56
2012-01-01 00:00:03.250000 89
2012-01-01 00:00:04.250000 12
最佳答案
像这样创建一个频率为 1 秒、偏移量为四分之一秒的 DateTimeIndex。
index = pd.date_range('2012-01-01 00:00:00.25',
'2012-01-01 00:00:04.25', freq='S')
使您的数据符合该索引,并“向前填充”以缩减您在所需结果中显示的方式。
s.reindex(index, method='ffill')
data
2012-01-01 00:00:00.250000 12
2012-01-01 00:00:01.250000 45
2012-01-01 00:00:02.250000 56
2012-01-01 00:00:03.250000 89
2012-01-01 00:00:04.250000 12
关于python - Pandas 中不规则时间序列的下采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15419914/