NumPy 中一维数组的滚动窗口实现
为了有效处理一维数组上的滚动窗口,NumPy 提供了一个有用的实现。让我们考虑一个场景,其中我们有一个称为观察值的一维 NumPy 数组。要计算窗口长度为 n 的滚动标准差,我们可以利用以下方法:
<code class="python">import numpy as np n = 5 # Example window length # Create a rolling window for the observations rolling_window = np.lib.stride_tricks.as_strided(observations, shape=(len(observations) - n + 1, n), strides=(observations.strides[0],)) # Apply the standard deviation function to each window rolling_stdev = np.std(rolling_window, axis=1)</code>
此代码片段有效地将 NumPy std 函数应用于每个窗口,从而产生所需的滚动标准差值。请注意,您可以将 np.std 替换为您希望应用于窗口数据的任何其他函数。
以上是如何使用滚动窗口计算 1D NumPy 数组的滚动标准差?的详细内容。更多信息请关注PHP中文网其他相关文章!