在 Python 中查找运行平均值
在 Python 中,可以使用 SciPy 计算特定窗口的一维数组的运行平均值或 NumPy 函数。
使用SciPy
如果 SciPy 可用,您可以使用 scipy.signal.convolve 函数:
from scipy.signal import convolve running_mean = convolve(array, np.ones(window) / window, mode='valid')
这是首选方法,在适当的情况下,因为通常它是有效的,具有明确定义的行为,尤其是因为它非常通用。
使用NumPy
如果你只有 NumPy,可以使用它的 np.convolve 函数:
running_mean = np.convolve(array, np.ones(window) / window, mode='valid')
理解 np.convolve
这里的核心运算是卷积。卷积通常表示为两个信号部分乘积的单个数学和。在这种情况下的解释是,我们将窗口部分乘以系数(1/窗口,1/窗口,...,1/窗口),这些系数等于平均值公式中使用的权重,然后求和
处理边
np.convolve 的 mode 参数控制如何处理边缘。 “valid”通过仅包含每个窗口完全适合数组的部分来消除所有边缘效应,“same”向边缘添加零以使输出数组与输入数组的长度相同,“full”添加零填充为了使输出数组只要窗口长度与输入长度之和减一即可。模式的选择取决于您的具体要求。
以上是如何使用 SciPy 或 NumPy 在 Python 中计算运行平均值?的详细内容。更多信息请关注PHP中文网其他相关文章!