Python 滑动平均算法实现详解及示例
滑动平均是一种用于计算序列数据平均值的方法,其思想是在每个时间点上,通过滑动窗口内的数据计算平均值并更新结果。
以下是一个简单的Python实现滑动平均的示例代码:
class MovingAverage:
def __init__(self, window_size):
self.window_size = window_size
self.data = []
def add(self, value):
self.data.append(value)
if len(self.data) > self.window_size:
self.data.pop(0)
def average(self):
return sum(self.data) / len(self.data) if self.data else 0.0
使用示例:
ma = MovingAverage(3)
ma.add(1)
ma.add(2)
ma.add(3)
print(ma.average()) # 输出2.0
ma.add(4)
print(ma.average()) # 输出3.0
ma.add(5)
print(ma.average()) # 输出4.0
在上述示例中,我们定义了一个MovingAverage类,通过add方法向滑动窗口中添加数据,通过average方法计算滑动窗口中数据的平均值。
在初始化类时,需要指定滑动窗口的大小window_size。每次调用add方法时,将新的数据添加到data列表中,并检查data列表的长度是否超过window_size,如果超过则删除最早的数据。
最后,通过average方法计算data列表中数据的平均值,并返回结果。如果data列表为空,则返回0.0。
原文地址: https://www.cveoy.top/t/topic/vVK 著作权归作者所有。请勿转载和采集!