滑动平均是一种用于计算序列数据平均值的方法,其思想是在每个时间点上,通过滑动窗口内的数据计算平均值并更新结果。

以下是一个简单的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。

Python 滑动平均算法实现详解及示例

原文地址: https://www.cveoy.top/t/topic/vVK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录