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

如何计算输入序列的累计均值(running mean)?返回等长均值序列

计算序列的累计均值(Running Mean)

你的原代码问题在于直接计算了整个序列的总均值,而没有逐步计算每一步的累计均值。要实现返回与输入等长的均值序列,可以通过累加求和+逐步计算的方式,用for循环和append方法完成:

实现代码

def running_mean(sequence):
    total = 0
    result = []
    count = 0
    for num in sequence:
        count += 1
        total += num
        # 计算当前累计的均值并加入结果列表
        result.append(total / count)
    return result

代码说明

  • total 用来累计遍历过程中的元素总和
  • count 记录当前已经处理过的元素数量(从1开始递增)
  • 每遍历一个元素,就更新总和与计数,计算当前的累计均值并添加到result列表中
  • 最终result的长度和输入序列完全一致,每个位置对应到该位置为止的累计均值

测试示例

输入:[1, 2, 3]
输出:[1.0, 1.5, 2.0],和你要求的结果一致。

你也可以用enumerate简化计数逻辑,效果相同:

def running_mean(sequence):
    total = 0
    result = []
    # enumerate的start参数设为1,直接得到当前元素的位置序号
    for idx, num in enumerate(sequence, start=1):
        total += num
        result.append(total / idx)
    return result

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 04:22:54