首页 >后端开发 >Python教程 >如何使用 SciPy 或 NumPy 在 Python 中计算运行平均值?

如何使用 SciPy 或 NumPy 在 Python 中计算运行平均值?

Patricia Arquette
Patricia Arquette原创
2024-11-22 19:52:16222浏览

How to Calculate a Running Mean in Python Using SciPy or NumPy?

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn