python 移动平均线_Python 3中如何计算移动平均值?

虽然我喜欢像george这样的Martijn's answer方法,但我想知道,如果使用一个运行求和法,而不是在几乎相同的数字上一遍又一遍地应用sum(),这样做是否更快。

另外,在爬坡阶段将None值作为默认值的想法也很有趣。事实上,移动平均线可能有很多不同的情况。我们把平均数的计算分成三个阶段:加速:在当前迭代计数窗口大小处开始迭代

稳定的进程:我们有精确的窗口大小的元素数,可以计算一个正常的average := sum(x[iteration_counter-window_size:iteration_counter])/window_size

斜坡下降:在输入数据的末尾,我们可以返回另一个window_size - 1“平均”数字。

这里有一个函数可以接受任意iterable(生成器可以)作为数据输入

任意窗口大小>=1

在上升/下降阶段打开/关闭值产生的参数

这些阶段的回调函数,用于控制如何生成值。这可用于持续提供默认值(例如None)或提供部分平均值

代码如下:from collections import deque

def moving_averages(data, size, rampUp=True, rampDown=True):

"""Slide a window of elements over to calc an average

First and last iterations when window is not yet completely

filled with data, or the window empties due to exhausted , the

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值