python 3秒钟 滑动平均
时间: 2023-09-09 17:01:01 浏览: 279
Python实现滑动平均(Moving Average)的例子
在Python中,我们可以使用滑动平均(Moving Average)来平滑一组数据。滑动平均的原理是在一定时间范围内计算平均值,并不断更新,以适应新的数据。
首先,我们需要定义一个时间窗口大小,表示滑动平均的时间范围。然后,我们可以使用一个队列来存储最近的数据,以及一个变量来记录当前时间窗口内的数据总和。
在每次更新数据时,我们需要先判断队列是否已满。如果队列已满,则需要将队首元素从总和中减去,并将新的数据添加到队列中。如果队列未满,则直接将新的数据添加到队列中。然后,更新总和并计算平均值。
以下是一个使用Python实现滑动平均的示例代码:
```python
from collections import deque
def sliding_average(data, window_size):
queue = deque(maxlen=window_size) # 创建一个固定大小的队列
total_sum = 0 # 初始化数据总和
for value in data:
if len(queue) == window_size: # 队列已满
total_sum -= queue.popleft() # 减去队首元素
queue.append(value) # 添加新的数据到队列中
total_sum += value # 更新数据总和
average = total_sum / len(queue) # 计算平均值
print(f"滑动平均:{average}")
# 测试示例
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
window_size = 3
sliding_average(data, window_size)
```
以上代码在给定的数据中计算了滑动窗口为3的滑动平均值。输出结果为:
```
滑动平均:1.0
滑动平均:1.5
滑动平均:2.0
滑动平均:3.0
滑动平均:4.0
滑动平均:5.0
滑动平均:6.0
滑动平均:7.0
滑动平均:8.0
滑动平均:9.0
```
这个示例中,滑动平均从第三个数据开始计算,每次向后滑动一个元素。你可以根据实际需求调整数据和时间窗口的大小来进行滑动平均的计算。
阅读全文