You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中对数据集应用mean filter实现数据平滑?

基于NumPy实现均值滤波平滑theta数据的方案
  • 均值滤波核心逻辑:通过滑动窗口遍历所有theta数值,用窗口内所有数值的平均值替换窗口中心位置的数值,从而抑制原始数据的随机波动,窗口大小统一使用奇数,数值越大平滑效果越强,可根据目标滤波效果灵活调整参数。

纯NumPy实现代码(无需依赖第三方库,符合作业要求)

import numpy as np

def mean_filter(theta, kernel_size=3):
    if kernel_size % 2 == 0:
        raise ValueError("窗口大小请设置为奇数,避免边界偏移")
    # 边界填充,保证输出数组长度和原始theta一致,此处用边缘值填充,也可根据需求改为0填充
    pad_len = kernel_size // 2
    theta_padded = np.pad(theta, pad_len, mode="edge")
    # 卷积实现均值计算
    kernel = np.ones(kernel_size) / kernel_size
    theta_smoothed = np.convolve(theta_padded, kernel, mode="valid")
    return theta_smoothed

# 调用示例,可调整kernel_size数值匹配目标平滑效果
theta_filtered = mean_filter(theta, kernel_size=5)
  • 参数调整说明:你可以修改kernel_size的取值,比如测试3、5、7三个常用值,直到滤波后的效果和你预期的目标效果一致即可。

可选简化实现(允许引入scipy时使用)

from scipy.ndimage import uniform_filter1d
theta_filtered = uniform_filter1d(theta, size=5)

内容的提问来源于stack exchange,提问作者Sif Lindby

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 11:15:07