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