Python实现滑动平均(Moving Average)的代码教程:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import numpy as np

# 等同于MATLAB中的smooth函数,但是平滑窗口必须为奇数。

# yy = smooth(y) smooths the data in the column vector y ..

# The first few elements of yy are given by

# yy(1) = y(1)

# yy(2) = (y(1) + y(2) + y(3))/3

# yy(3) = (y(1) + y(2) + y(3) + y(4) + y(5))/5

# yy(4) = (y(2) + y(3) + y(4) + y(5) + y(6))/5

# ...

def smooth(a,WSZ):

# a:原始数据,NumPy 1-D array containing the data to be smoothed

# 必须是1-D的,如果不是,请使用 np.ravel()或者np.squeeze()转化

# WSZ: smoothing window size needs, which must be odd number,

# as in the original MATLAB implementation

out0 = np.convolve(a,np.ones(WSZ,dtype=int),'valid')/WSZ

r = np.arange(1,WSZ-1,2)

start = np.cumsum(a[:WSZ-1])[::2]/r

stop = (np.cumsum(a[:-WSZ:-1])[::2]/r)[::-1]

return np.concatenate(( start , out0, stop ))

# another one,边缘处理的不好

"""

def movingaverage(data, window_size):

window = np.ones(int(window_size))/float(window_size)

return np.convolve(data, window, 'same')

"""

# another one,速度更快

# 输出结果 不与原始数据等长,假设原数据为m,平滑步长为t,则输出数据为m-t+1

"""

def movingaverage(data, window_size):

cumsum_vec = np.cumsum(np.insert(data, 0, 0))

ma_vec = (cumsum_vec[window_size:] - cumsum_vec[:-window_size]) / window_size

return ma_vec

"""

希望与广大网友互动??

点此进行留言吧!

python moving average_Python实现滑动平均(Moving Average)的代码教程相关推荐

  1. python 滤波_[开发技巧]·Python极简实现滑动平均滤波(基于Numpy.convolve)

    [开发技巧]·Python极简实现滑动平均滤波(基于Numpy.convolve) ​ 1.滑动平均概念 滑动平均滤波法(又称递推平均滤波法),时把连续取N个采样值看成一个队列 ,队列的长度固定为N ...

  2. python 曲线平滑处理——方法总结(Savitzky-Golay 滤波器、make_interp_spline插值法和convolve滑动平均滤波)

    文章目录 1 插值法对曲线平滑处理 1.1 插值法的常见实现方法 1.2 拟合和插值的区别 1.3 代码实例 2 Savitzky-Golay 滤波器实现曲线平滑 2.1 问题描述 2.2 Savit ...

  3. python 数据、曲线平滑处理——基于Numpy.convolve实现滑动平均滤波——详解

    文章目录 1 基于Numpy.convolve实现滑动平均滤波 1.1 滑动平均概念 1.2 滑动平均的数学原理 1.3 语法 1.4 滑动平均滤波示例 2 曲线平滑处理--Savitzky-Gola ...

  4. matlab 计算汉明距_matlab实现滑动平均滤波

    什么是滑动均值滤波 滑动平均滤波就是把连续取得的N个采样值看成一个队列,队列的长度固定为N,每次采样得到一个新数据放到队尾,并丢掉原来队首的一次数据,把队列中的N个数据进行平均运算,就可以获得新的滤波 ...

  5. 理解滑动平均(exponential moving average)

    1. 用滑动平均估计局部均值 滑动平均(exponential moving average),或者叫做指数加权平均(exponentially weighted moving average),可以 ...

  6. EMA指数滑动平均(Exponential Moving Average)

    指数滑动平均(Exponential Moving Average) 指数滑动平均也叫权重移动平均(Weighted Moving Average),是一种给予近期数据更高权重的平均方法. 假设有nn ...

  7. BN/Batch Norm中的滑动平均/移动平均/Moving Average

    BN中的滑动平均是怎么做的 训练过程中的每一个batch都会进行滑动平均的计算[1]: moving_mean = moving_mean * momentum + batch_mean * (1 - ...

  8. M 点滑动平均 Python 实现

    目录 1. 需要的 Python 库 2. 一些主要的信号 (1)原始信号 (2)噪声信号 (3)对原始信号加噪 (4)进行 M 点平均 3. 对系统的探究 (1)单位冲击响应 (2)频响 对于该滑动 ...

  9. python的pandas计算5天滑动平均气温,并批量计算春季起始日

    近期有个计算春天的需求,网上搜了下大多是用MATLAB中的smooth函数的思路写的.正好学到pandas几个强大的数据处理方法,想着自己试试. pandas提供了大量能使我们快速便捷地处理数据的函数 ...

  10. python量化回测结果分析53课_#滑动平均策略——python回测结果 (中山大学岭南学院量化投资协会)...

    策略如下: 回测区间为2016年10月10日至2017年10月13日,选择沪深300进行回测. 记录所有当天5日滑动平均价格高于20日滑动平均价格的股票 将总资金额的一半n/2用于买入股票,每一支股票 ...

最新文章

  1. 法向量影响光源照射物体后,物体产生的视觉感光效果
  2. Java异常信息处理
  3. Linux网站服务Apache+php+mysql的安装
  4. python调用API来实现机器人
  5. onesignal php,PHP FPM源代码反刍品味之五:信号signal处理
  6. Linux 编译安装BIND
  7. LeetCode MySQL 1581. 进店却未进行过交易的顾客
  8. 又一位…8月,痛失6位院士!
  9. main()函数参数
  10. 编程同写作,写代码只是在码字
  11. 冬季美食不可少烤肉和火锅,最具诱惑的手绘肉食插画素材,让设计师勾引你的味蕾
  12. 电子工程师 嵌入式开发者的嘉年华最强攻略
  13. 硬盘划分主分区、扩展分区、逻辑分区、活动分区有什么不同?
  14. 上班族中午趴桌子睡觉为什么会头晕眼花?
  15. keras模型 鸾尾花数据集_TensorFlow 入门(鸢尾花数据集)(一)
  16. 操作系统实验三:主存空间的分配与回收
  17. 用html写京东网页,实现部分功能
  18. 天道酬勤,奋斗不止!
  19. Spring声明式事务配置管理方法
  20. 大数据24小时:腾讯杀入无人驾驶市场,百度安全联合成立“OASES智能终端安全生态联盟”

热门文章

  1. 铸博皇御:黄金现货交易究竟适不适合上班族?
  2. 物联网技能大赛-Ubuntu-(3)
  3. linux 延迟 10 ms,网络延迟10ms怎么做到(增加网络延迟软件)
  4. 七个问题透视百度智慧商业平台
  5. shopnc怎么使用 php,ShopNC单用户版/安装php
  6. Whiten process——数据的白化处理
  7. 【Life】 Never Too Late, Just Do it Better!
  8. Cat Snuke and a Voyage
  9. HTML5:<abbr>元素
  10. CodeForces - 1077(div3) E.Thematic Contests(枚举+二分)