承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601
当前位置:首页  >  软件开发  >  python 滑动平均法

python 滑动平均法

管理员 2023-09-13 08:16:35 软件开发 0 ℃ 0 评论 1866字 收藏

python 滑动平均法

Python语言中的滑动平均法是指通过移动窗口的方式,对一列数据进行平均值的计算,从而平滑数据的波动。常经常使用于时间序列数据的处理和预测中,如股票价格、气温变化等。

import numpy as np
def moving_average(data, window_size):
"""
滑动平均法实现函数
:param data: 待平滑的数据,numpy数组类型
:param window_size: 窗口大小
:return: 平滑后的数据
"""
weights = np.repeat(1.0, window_size) / window_size
return np.convolve(data, weights, 'valid')  # 使用卷积实现滑动平均法

在上述代码中,首先导入了NumPy库,用于数组操作,定义了一个moving_average()函数实现滑动平均法。该函数实现中,先定义了一个权重向量weights,使用np.repeat()函数生成一个长度为window_size的重复值为1.0的向量,再将其除以窗口大小,得到权重向量。最后使用np.convolve()函数实现卷积运算,得到平滑后的数据。

下面给出一个例子,使用该函数实现股票价格的平滑处理:

import pandas as pd
import matplotlib.pyplot as plt
# 读入数据
df = pd.read_csv('stock.csv')
# 计算平均价
df['MA20'] = moving_average(df['Close'], 20)
# 绘制图形
plt.plot(df[['Close', 'MA20']])
plt.legend(['Close', 'MA20'])
plt.show()

在上述代码中,首先导入了Pandas和Matplotlib库,用于数据读取和可视化。读入了一个名为stock.csv的股票数据,并在其中添加了一列“MA20”表示20日平均价。最后使用Matplotlib库绘制了Close和MA20的折线图。

滑动平均法是一种简单有效的平滑数据的方法,可以在很多领域中得到利用。Python语言的NumPy库提供了丰富的数组操作函数,在实现滑动平均法时也变得非常方便。

文章来源:丸子建站

文章标题:python 滑动平均法

https://www.wanzijz.com/view/79334.html

TAG: php教程 centos
X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信