如何使用 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')
其中:
说明
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中文网其他相关文章!