我有一个简单的 OHLCV 时间序列。我从雅虎财经获得。
Open High Adj Close Volume
Datetime
2021-11-27 00:00:00+00:00 53736.429688 54287.300781 54287.300781 349732864
2021-11-27 00:15:00+00:00 54321.816406 54470.097656 54470.097656 50278400
2021-11-27 00:30:00+00:00 54362.085938 54688.476562 54563.937500 125132800
2021-11-27 00:45:00+00:00 54552.707031 54552.707031 54208.027344 23285760
2021-11-27 01:00:00+00:00 54186.679688 54304.398438 54080.007812 0
2022-01-25 07:30:00+00:00 35861.457031 36036.191406 36023.011719 389357568
2022-01-25 07:45:00+00:00 36036.500000 36078.332031 36075.312500 102707200
2022-01-25 08:00:00+00:00 36069.089844 36211.867188 36152.500000 234246144
2022-01-25 08:15:00+00:00 36179.812500 36179.812500 36179.812500 125779968
2022-01-25 08:16:00+00:00 36283.058594 36283.058594 36283.058594 0
我知道如何使用重采样按频率对它们进行分组。
df.resample("6H", origin="end")
我也使用 origin="end" 以便间隔相对于结尾。
我可以按一些自定义范围对时间序列进行分组吗?假设: 6horus, 12h, 24h, 7days, 1month, 3m , 1y ... 这些是从最后一个值中减去的时间段。
日期范围如下所示:
2021-01-25 08:16:00+00:00
2021-10-25 08:16:00+00:00
2021-12-25 08:16:00+00:00
2022-01-18 08:16:00+00:00
2022-01-24 08:16:00+00:00
2022-01-24 20:16:00+00:00
2022-01-25 02:16:00+00:00
2022-01-25 08:16:00+00:00
现在我知道我可以进行多次重新采样,然后过滤和连接生成的数据帧。我想知道有没有更简单的方法来做到这一点?