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

Pandas DataFrame重采样时间区间偏移问题咨询

Pandas重采样时间标签偏移问题解答

问题描述

原始DataFrame

ticker_name  price
timestamp_column
2024-02-01 18:34:58  NIFTY_08-FEB-2024_CE_21000   85.0
2024-02-01 18:34:55  NIFTY_08-FEB-2024_CE_21000   84.0
2024-02-01 18:34:52  NIFTY_08-FEB-2024_CE_21000   83.0
2024-02-01 18:34:49  NIFTY_08-FEB-2024_CE_21000   82.0
2024-02-01 18:34:46  NIFTY_08-FEB-2024_CE_21000   81.0
...                                         ...    ...
2024-02-01 18:30:58  NIFTY_08-FEB-2024_CE_21000    5.0
2024-02-01 18:30:55  NIFTY_08-FEB-2024_CE_21000    4.0
2024-02-01 18:30:52  NIFTY_08-FEB-2024_CE_21000    3.0
2024-02-01 18:30:49  NIFTY_08-FEB-2024_CE_21000    2.0
2024-02-01 18:30:46  NIFTY_08-FEB-2024_CE_21000    1.0

重采样代码

df_resample = df['price'].resample('10s').ohlc()

重采样结果

open  high   low  close
timestamp_column
2024-02-01 18:30:40   1.0   2.0   1.0    2.0
2024-02-01 18:30:50   3.0   5.0   3.0    5.0
2024-02-01 18:31:00   6.0   8.0   6.0    8.0
2024-02-01 18:31:10   9.0  12.0   9.0   12.0

....
2024-02-01 18:34:20  73.0  75.0  73.0   75.0
2024-02-01 18:34:30  76.0  78.0  76.0   78.0
2024-02-01 18:34:40  79.0  82.0  79.0   82.0
2024-02-01 18:34:50  83.0  85.0  83.0   85.0

用户疑问

时间标签2024-02-01 18:30:40对应的OHLC数据实际属于18:30:40至18:30:50区间,但预期应该对应18:30:30至18:30:40区间,所有行都存在该偏移问题,这是预期行为还是操作有误?


解答

这是Pandas重采样的预期行为。

Pandas默认采用左闭右开的区间划分规则,重采样后的时间标签是区间的左端点。比如标签18:30:40对应的区间是[18:30:40, 18:30:50),所有落在这个区间内的原始数据都会被归入该标签下——你的原始数据中18:30:46、18:30:49正好属于这个区间,所以对应的OHLC数据会被标记为18:30:40。

如果希望时间标签对应区间的右端点(即让18:30:50代表[18:30:40, 18:30:50)的区间),只需在重采样时添加label='right'参数:

df_resample = df['price'].resample('10s', label='right').ohlc()

这样处理后,区间数据的标签会变为该区间的结束时间,符合你对标签对应区间的预期。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 01:15:07