python moving average_Python实现滑动平均(Moving Average)的代码教程
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)的代码教程相关推荐
- python 滤波_[开发技巧]·Python极简实现滑动平均滤波(基于Numpy.convolve)
[开发技巧]·Python极简实现滑动平均滤波(基于Numpy.convolve) 1.滑动平均概念 滑动平均滤波法(又称递推平均滤波法),时把连续取N个采样值看成一个队列 ,队列的长度固定为N ...
- python 曲线平滑处理——方法总结(Savitzky-Golay 滤波器、make_interp_spline插值法和convolve滑动平均滤波)
文章目录 1 插值法对曲线平滑处理 1.1 插值法的常见实现方法 1.2 拟合和插值的区别 1.3 代码实例 2 Savitzky-Golay 滤波器实现曲线平滑 2.1 问题描述 2.2 Savit ...
- python 数据、曲线平滑处理——基于Numpy.convolve实现滑动平均滤波——详解
文章目录 1 基于Numpy.convolve实现滑动平均滤波 1.1 滑动平均概念 1.2 滑动平均的数学原理 1.3 语法 1.4 滑动平均滤波示例 2 曲线平滑处理--Savitzky-Gola ...
- matlab 计算汉明距_matlab实现滑动平均滤波
什么是滑动均值滤波 滑动平均滤波就是把连续取得的N个采样值看成一个队列,队列的长度固定为N,每次采样得到一个新数据放到队尾,并丢掉原来队首的一次数据,把队列中的N个数据进行平均运算,就可以获得新的滤波 ...
- 理解滑动平均(exponential moving average)
1. 用滑动平均估计局部均值 滑动平均(exponential moving average),或者叫做指数加权平均(exponentially weighted moving average),可以 ...
- EMA指数滑动平均(Exponential Moving Average)
指数滑动平均(Exponential Moving Average) 指数滑动平均也叫权重移动平均(Weighted Moving Average),是一种给予近期数据更高权重的平均方法. 假设有nn ...
- BN/Batch Norm中的滑动平均/移动平均/Moving Average
BN中的滑动平均是怎么做的 训练过程中的每一个batch都会进行滑动平均的计算[1]: moving_mean = moving_mean * momentum + batch_mean * (1 - ...
- M 点滑动平均 Python 实现
目录 1. 需要的 Python 库 2. 一些主要的信号 (1)原始信号 (2)噪声信号 (3)对原始信号加噪 (4)进行 M 点平均 3. 对系统的探究 (1)单位冲击响应 (2)频响 对于该滑动 ...
- python的pandas计算5天滑动平均气温,并批量计算春季起始日
近期有个计算春天的需求,网上搜了下大多是用MATLAB中的smooth函数的思路写的.正好学到pandas几个强大的数据处理方法,想着自己试试. pandas提供了大量能使我们快速便捷地处理数据的函数 ...
- python量化回测结果分析53课_#滑动平均策略——python回测结果 (中山大学岭南学院量化投资协会)...
策略如下: 回测区间为2016年10月10日至2017年10月13日,选择沪深300进行回测. 记录所有当天5日滑动平均价格高于20日滑动平均价格的股票 将总资金额的一半n/2用于买入股票,每一支股票 ...
最新文章
- 法向量影响光源照射物体后,物体产生的视觉感光效果
- Java异常信息处理
- Linux网站服务Apache+php+mysql的安装
- python调用API来实现机器人
- onesignal php,PHP FPM源代码反刍品味之五:信号signal处理
- Linux 编译安装BIND
- LeetCode MySQL 1581. 进店却未进行过交易的顾客
- 又一位…8月,痛失6位院士!
- main()函数参数
- 编程同写作,写代码只是在码字
- 冬季美食不可少烤肉和火锅,最具诱惑的手绘肉食插画素材,让设计师勾引你的味蕾
- 电子工程师 嵌入式开发者的嘉年华最强攻略
- 硬盘划分主分区、扩展分区、逻辑分区、活动分区有什么不同?
- 上班族中午趴桌子睡觉为什么会头晕眼花?
- keras模型 鸾尾花数据集_TensorFlow 入门(鸢尾花数据集)(一)
- 操作系统实验三:主存空间的分配与回收
- 用html写京东网页,实现部分功能
- 天道酬勤,奋斗不止!
- Spring声明式事务配置管理方法
- 大数据24小时:腾讯杀入无人驾驶市场,百度安全联合成立“OASES智能终端安全生态联盟”
热门文章
- 铸博皇御:黄金现货交易究竟适不适合上班族?
- 物联网技能大赛-Ubuntu-(3)
- linux 延迟 10 ms,网络延迟10ms怎么做到(增加网络延迟软件)
- 七个问题透视百度智慧商业平台
- shopnc怎么使用 php,ShopNC单用户版/安装php
- Whiten process——数据的白化处理
- 【Life】 Never Too Late, Just Do it Better!
- Cat Snuke and a Voyage
- HTML5:<abbr>元素
- CodeForces - 1077(div3) E.Thematic Contests(枚举+二分)