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

pandas DataFrame按2秒重采样计算均值并回填至原数据集实现方法问询

问题原因

你之前的写法得到的是降采样后的聚合结果,索引为每个2秒窗口的起始时间,和原DataFrame的1秒频率索引不完全匹配,所以只有对应时间点有值,其余行填充空值。

解决方法

使用resample结合transform方法,聚合后返回与原数据长度一致的结果,自动填充到对应窗口的所有行:

import pandas as pd

# 示例数据集
index = pd.date_range('1/1/2000', periods=10, freq='S')
data = {'value':[23,23,12,14,14,57,67,32,56,89]}
series = pd.DataFrame(data, index=index)

# 正确赋值方式
series['resample_value'] = series['value'].resample('2S').transform('mean')

也可以使用等价的groupby写法:

series['resample_value'] = series.groupby(pd.Grouper(freq='2S'))['value'].transform('mean')

最终效果

同一2秒窗口内的所有行都会填充对应窗口的均值,结果如下:

时间索引valueresample_value
2000-01-01 00:00:002323.0
2000-01-01 00:00:012323.0
2000-01-01 00:00:021213.0
2000-01-01 00:00:031413.0
2000-01-01 00:00:041435.5
2000-01-01 00:00:055735.5
2000-01-01 00:00:066749.5
2000-01-01 00:00:073249.5
2000-01-01 00:00:085672.5
2000-01-01 00:00:098972.5

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 20:06:03