首页 > 后端开发 > Python教程 > 如何使用 NumPy 的'np.convolve”函数计算一维数组的运行平均值?

如何使用 NumPy 的'np.convolve”函数计算一维数组的运行平均值?

Mary-Kate Olsen
发布: 2024-12-01 06:50:10
原创
176 人浏览过

How to Calculate a Running Mean of a 1D Array Using NumPy's `np.convolve` Function?

如何使用 SciPy 或 NumPy 计算一维数组的运行平均值

运行平均值,也称为移动平均值,是当窗口在数据上滑动时,计算指定窗口内数据点子集的平均值的统计度量。在 Python 中,有多种使用 SciPy 和 NumPy 函数计算运行平均值的方法。

SciPy Function

SciPy 没有用于计算运行平均值的专用函数。但是,您可以使用 NumPy 中的 np.convolve 函数来实现运行平均值计算。

NumPy 函数

NumPy 的 np.convolve 函数执行卷积运算。在运行平均值的背景下,卷积是将内核应用于数据并对结果求和的过程。为了计算运行平均值,内核是均匀分布的,它为窗口内的每个数据点赋予相同的权重。

要使用 np.convolve 计算运行平均值,可以使用以下代码:

running_mean = np.convolve(array, np.ones(window_size) / window_size, mode='valid')
登录后复制

其中:

  • 数组是要计算其运行的一维数组mean。
  • window_size 是计算平均值的窗口的大小。
  • mode='valid' 指定忽略数组的边缘,从而得到一个输出数组:比输入数组短 window_size - 1.

说明

np.ones(window_size) / window_size 创建一个具有统一权重的内核。 np.convolve 将此内核应用于数组,从而为每个窗口生成一个均值数组。 mode='valid' 参数确保数组的边缘不包含在计算中,从而生成反映整个数据的运行平均值的输出数组。

边缘处理

np.convolve 的 mode 参数指定如何处理数组的边缘。不同的模式会导致不同的边缘行为。下表列出了常用的模式:

Mode Edge Handling
full Pads the array with zeros and returns an output array that is the same size as the input array.
same Pads the array with zeros to match the kernel size and returns an output array that is the same size as the input array.
valid Ignores the edges of the array, resulting in an output array that is shorter than the input array.

模式的选择取决于您的具体要求以及您想要对数组边缘的运行平均值的解释。

以上是如何使用 NumPy 的'np.convolve”函数计算一维数组的运行平均值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板