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

基于Datetime.Offset实现时间序列滚动移动平均的方案与报错解决

滚动年度均值实现方案咨询

基础场景

持有日频粒度时间序列数据,计划计算指定周期的滚动平均值,确认是否可通过Datetime.Offset类参数实现需求。
示例测试数据构造代码:

import pandas as pd
l = [7.71, 7.79, 6.80, 6.44, 6.46, 6.80] 
index = pd.DatetimeIndex(['2016-01-04', '2016-01-05', '2016-01-06', '2017-01-04' ,'2017-01-05' ,'2017-01-06'])
df = pd.DataFrame(l, columns=['col'], index = index) 

预期计算结果

针对上述样本数据,计算滚动年度均值的预期输出为:

  • 2017-01-04 对应均值 7.185
  • 2017-01-05 对应均值 6.873
  • 原描述中标注的重复日期2017-01-05对应均值 6.625,结合样本日期推算应为2017-01-06的计算结果

已尝试的实现及报错

  • 尝试给rolling接口传入freq参数指定年度滚动窗口:
    df.rolling(window=1, freq='A').mean()
    
    返回报错:TypeError: rolling() got an unexpected keyword argument 'freq'
  • 尝试将自定义DateOffset对象传入rolling的window参数(原代码中变量名eps为笔误,实际为已定义的df):
    do = pd.DateOffset(years = 1)
    df.rolling(window=do).mean()
    
    返回报错:ValueError: <DateOffset: years=1> is a non-fixed frequency

核心待解决问题

  • 该年度滚动均值计算需求是否可通过pandas原生rolling接口实现
  • 若原生接口不支持,需要调整为哪种技术方案完成计算

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 01:24:04