首页 > 解决方案 > 聚合/重新采样时间序列数据框,保持原始时间序列索引,按照原始时间序列行进行统计

问题描述

我有一个时间序列数据框,它看起来像这样..

                    price  volume
timestamp          
2020-05-01 00:00:00 51      1                                                            
2020-05-01 03:00:00 50      1
2020-05-01 06:00:00 51      1
2020-05-01 09:00:00 52      2
2020-05-01 12:00:00 53      1
2020-05-01 15:00:00 51      1
2020-05-01 18:00:00 50      2
2020-05-01 21:00:00 51      1

我想做的是将数据重新采样到 12 小时期间,保留原始的 3 小时期间指数,但同时增加交易量和价格。

输出看起来像这样..

                      open  high   low   close   volume
timestamp          
2020-05-01 00:00:00   51     51     51     51      1                                                            
2020-05-01 03:00:00   51     51     50     50      2
2020-05-01 06:00:00   51     51     50     51      3
2020-05-01 09:00:00   51     52     50     52      5
2020-05-01 12:00:00   53     53     53     53      1
2020-05-01 15:00:00   53     53     51     51      2
2020-05-01 18:00:00   53     53     50     50      4
2020-05-01 21:00:00   53     53     50     51      5

如您所见..
我保留了相同的时间框架索引(3h),但将数据聚合到 12h 合并块中。

显然,我希望尽可能有效地做到这一点。

我已经检查了文档,看起来没有任何简单的方法可以做到这一点。希望有更多经验丰富的头脑可以想出一些东西。我想也许是一个滚动窗口?

标签: pythonpandastime-seriespandas-groupbypandas-apply

解决方案


推荐阅读