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

如何在DataFrame中计算窗口大小为4的滚动平均值?

实现方案

直接使用Pandas内置的rolling方法即可实现需求,无需自行遍历行计算,是Pandas生态下的标准高效写法。

完整代码示例

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'idx': [1,2,3,4,5,6],
    'val': [10,32,21,55,43,31]
})

# 计算滚动平均:窗口大小4,最少观测数1(不足4个时用现有所有值计算)
df['avg_val'] = df['val'].rolling(window=4, min_periods=1).mean()

# 输出指定列的结果
result = df[['idx', 'avg_val']]
print(result)

参数说明

  • window=4:指定滚动窗口大小为4,每次计算取当前行及前面3行共4个值
  • min_periods=1:指定窗口内只要有1个有效值就触发计算,刚好匹配前3行不足4个值时也能计算平均值的需求,不设置该参数时前3行计算结果会返回空值

输出结果验证

idx  avg_val
0    1    10.00
1    2    21.00
2    3    21.00
3    4    29.50
4    5    37.75
5    6    37.50

内容的提问来源于stack exchange,提问作者Anirban Nag 'tintinmj'

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 11:42:02