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

Pandas Series累计乘积重采样:自定义日频聚合方法求解

解决非唯一时间索引的日频聚合问题

你的问题出在asfreq要求原时间索引必须唯一且单调,而数据里的秒级重复索引违反了这个要求,导致调用失败。改用resample方法就能处理非唯一索引的时间序列,同时支持自定义聚合逻辑。

基础聚合(内置方法)

如果只是需要常见的聚合逻辑(比如取当日首/末值、均值、求和),直接用resample搭配内置聚合函数即可:

取每日最后一个数据点(等效于ffill到日频的核心需求)

freq = "D"
compounded_daily = compounded.resample(freq).last()

取每日第一个数据点

compounded_daily = compounded.resample(freq).first()

其他内置聚合示例

# 每日均值
compounded_daily = compounded.resample(freq).mean()
# 每日求和
compounded_daily = compounded.resample(freq).sum()

自定义聚合函数

如果需要更复杂的逻辑,比如根据日内数据做自定义计算,直接给apply传入自定义函数即可:

def daily_custom_agg(sub_df):
    # sub_df是对应单日的所有秒级数据子集
    # 示例:计算当日最大值与最小值的平均值
    return (sub_df.max() + sub_df.min()) / 2

# 应用自定义函数到每日分组
compounded_daily = compounded.resample("D").apply(daily_custom_agg)

resample会自动将所有秒级数据按日期分组,不管原索引是否重复,都能精准归类到对应的日区间中,生成的结果索引就是每日的起始时间(如YYYY-MM-DD 00:00:00),和asfreq的输出格式一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 17:42:11