在 Numpy 中为一维数组实现高效的滚动窗口
滚动窗口的概念涉及迭代数据序列并应用计算指定窗口长度内的数据子集。在给定的上下文中,任务是在不使用 Python 循环的情况下计算 Numpy 中一维数组的滚动标准差。
虽然可以使用 Numpy.std 轻松获得标准差,但滚动窗口部分构成了挑战。但是,通过利用博客文章中介绍的“rolling_window”函数,我们可以将其功能扩展到一维数组。
“rolling_window”函数创建输入数组的视图,重新排列为一系列重叠的窗口,促进这些窗口上的高效计算。通过将所需的函数(在本例中为 Numpy.std)应用于每个窗口,我们获得所需的滚动计算。
为了说明这一点,请考虑以下代码片段:
<code class="python">import numpy as np # Create a 1D array observations = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) # Specify window length window_length = 3 # Calculate rolling windows rolling_windows = rolling_window(observations, window_length) # Calculate rolling standard deviations rolling_stds = np.std(rolling_windows, axis=1) # Print the results print("Rolling standard deviations:", rolling_stds)</code>
在在此示例中,“rolling_windows”表示重叠窗口,“rolling_stds”捕获计算的滚动标准差。通过使用 Numpy 函数进行这些计算,我们提高了效率并消除了计算中对 Python 循环的需要。
以上是如何在没有循环的情况下有效计算 Numpy 中一维数组的滚动标准差?的详细内容。更多信息请关注PHP中文网其他相关文章!