python - Pandas 中不规则时间序列的下采样

标签 python pandas

我在 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/

相关文章:

python - 用于应用具有多个变量的单个表达式的内置函数

python - 在 matplotlib/python 中绘制多条曲线

python - 如何在 pandas 中进行分组和合并

python - 在Python中使用重复数据转换Dataframe

python-3.x - 单列热编码

python - 克隆一个继承的 Django 模型实例

python - 嵌入式 python Py_Finalize() 是否阻塞?

python - 如何注释多个 Django 模型

python - 在Python中从列表中找到最佳组合后如何从数据集中删除一行

python - 在 Python Pandas 中将月份和日期保留为日期格式