You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas时间序列DataFrame重采样9分钟周期时间偏移问题

问题原因

这是因为pandas的resample方法默认从午夜0点开始按给定周期划分时间区间。比如9分钟周期的话,区间会是00:00-00:09、00:09-00:18……以此类推。你的数据起始时间是09:30:00,往前找最近的9分钟区间起点就是09:27:00(9×63=567分钟,即9小时27分),所以09:30的数据会被归入09:27开头的区间。

而5、6分钟周期能正常对齐,是因为09:30刚好是它们的整数倍起点:5×114=570分钟(9小时30分),6×95=570分钟,所以区间刚好从09:30开始划分。

解决方法

修改resample调用时的参数,指定origin为数据起始时间(或者用origin='start'让区间从数据的第一个时间点开始),就能让区间从09:30:00开始:

修改后的核心代码段:

data = data.resample(f"{timeframe}T", origin='start').agg({"Open": "first",
                                                           "High": "max",
                                                           "Low": "min",
                                                           "Close": "last"})

如果想固定从每天的09:30开始划分(不受数据起始点影响),可以直接指定具体时间作为origin:

data = data.resample(f"{timeframe}T", origin='2022-06-16 09:30:00').agg(...)

另外注意你代码里的一个小疏漏:data.drop(columns=['index'])这行没有赋值给data,应该改成data = data.drop(columns=['index']),否则index列不会被实际删除。

内容的提问来源于stack exchange,提问作者user22544082

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 08:47:12