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

Pandas重采样间隔大于索引范围时如何合并所有数据?

场景

我有如下Pandas时间序列数据:

datepredicted1
2001-03-130.994756
2005-08-220.551661
2000-05-070.001396

我尝试按10年间隔重采样求和,代码如下:

sample = data.set_index(pd.DatetimeIndex(data['date'])).drop('date', axis=1)['predicted1']
sample.resample('10Y').sum()

得到的结果却把数据分成了两组:

date
2000-12-310.001396
2010-12-311.546418
问题

如何让所有数据归到同一个10年间隔组?期望结果如下:

date
2000-12-311.5478132011506138
解决方法

方法1:指定重采样的起始原点

通过resample的origin参数,手动设置10年周期的起始点,比如指定为2000年年初,这样所有数据都会被划入以2000年开头的10年区间:

sample.resample('10Y', origin='2000-01-01').sum()

如果想适配任意数据集,也可以自动取数据中最早日期的当年年初作为起始点:

origin_date = sample.index.min().replace(month=1, day=1)
sample.resample('10Y', origin=origin_date).sum()

方法2:直接求和后重置索引

如果只需要合并所有数据并指定目标日期,也可以直接对序列求和,再手动设置索引:

pd.Series([sample.sum()], index=pd.DatetimeIndex(['2000-12-31']))

内容的提问来源于stack exchange,提问作者Владислав Черкасов

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 09:40:27