如何使用 Numpy 計算一維數組上的滾動視窗標準差?

Mary-Kate Olsen
發布: 2024-10-28 03:23:30
原創
292 人瀏覽過

How to Calculate Rolling Window Standard Deviations on 1D Arrays Using Numpy?

使用Numpy 計算一維數組上的滾動視窗標準差

在numpy 中,經常會出現需要計算滾動視窗函數的操作一維數組上。一個簡單的方法是使用循環,如給定的 Python 程式碼片段所示。不過,透過 Numpy 的增強功能可以找到更有效率的方法。

在 Numpy 中執行捲動視窗操作的關鍵在於利用部落格文章中介紹的rolling_window 函數。此函數將輸入數組重塑為一系列重疊的窗口,從而有效地創建一個二維數組。將函數應用於此二維數組可以進行基於視窗的計算。

要計算滾動標準差,只需將 numpy.std 函數應用於rolling_window 函數的輸出即可。以下修改後的程式碼片段示範了這種方法:

import numpy as np

# Define the rolling window function
def rolling_window(a, window):
    shape = a.shape[:-1] + (a.shape[-1] - window + 1, window)
    strides = a.strides + (a.strides[-1],)
    return np.lib.stride_tricks.as_strided(a, shape=shape, strides=strides)

# Input array
observations = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Calculate rolling standard deviations
stdev = np.std(rolling_window(observations, 3), 1)

# Print the results
print(stdev)
登入後複製

此程式碼片段使用純 Numpy 運算有效計算給定一維數組的滾動標準差,無需循環。

以上是如何使用 Numpy 計算一維數組上的滾動視窗標準差?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!