数据滤波算法python
时间: 2023-08-31 09:10:04 浏览: 105
常用的数据滤波算法有移动平均滤波、中值滤波、卡尔曼滤波等。
下面是一个简单的移动平均滤波算法的 Python 实现:
```python
def moving_average_filter(data, window_size):
filtered_data = []
window = [0] * window_size
i = 0
for d in data:
window[i] = d
i = (i + 1) % window_size
filtered_data.append(sum(window) / window_size)
return filtered_data
```
其中,`data` 是输入的数据,`window_size` 是滑动窗口的大小,`filtered_data` 是输出的滤波后的数据。算法的基本思想就是对于每个数据点,都取它和前 `window_size` 个数据的平均值作为滤波后的值。
另外,中值滤波的 Python 实现如下:
```python
def median_filter(data, window_size):
filtered_data = []
window = [0] * window_size
i = 0
for d in data:
window[i] = d
i = (i + 1) % window_size
median = sorted(window)[window_size // 2]
filtered_data.append(median)
return filtered_data
```
中值滤波的基本思想是对于每个数据点,都取它和前 `window_size` 个数据的中位数作为滤波后的值。
阅读全文