首頁 > 後端開發 > Python教學 > 如何使用 NumPy 在 Python 中高效計算滾動平均值?

如何使用 NumPy 在 Python 中高效計算滾動平均值?

Susan Sarandon
發布: 2024-11-16 08:16:03
原創
208 人瀏覽過

How to Efficiently Calculate a Rolling Average in Python with NumPy?

使用NumPy / SciPy 在Python 中計算滾動/移動平均值

儘管NumPy 和SciPy 具有廣泛的功能,但計算平均移動的功能值可以這是一項極為複雜的任務。本文透過使用 NumPy 的 np.cumsum 提供一個易於實現的解決方案來解決這個問題。

使用 NumPy 實現移動平均最簡單的方法

對於一個簡單的非-加權移動平均值,np.cumsum提供了一個有效的解決方案:

def moving_average(a, n=3):
    ret = np.cumsum(a, dtype=float)
    ret[n:] = ret[n:] - ret[:-n]
    return ret[n - 1:] / n
登入後複製

性能和簡單性

此方法提供高效能,因為它利用了NumPy 優化的np.cumsum函數,在某些情況下優於基於FFT 的方法。此外,它避免了與複雜演算法相關的潛在錯誤,使其高度可靠。

在NumPy 中排除移動平均功能的理由

儘管它看起來很實用,但可能存在從核心NumPy 中排除移動平均功能的正當理由:

  • 簡單性優於功能:NumPy努力保留簡單而緊湊的核心,避免專門函數造成不必要的膨脹。
  • 使用者實作的解決方案的可用性:如上所述,使用 NumPy 實現移動平均值非常簡單,因此無需重複庫中的功能。

以上是如何使用 NumPy 在 Python 中高效計算滾動平均值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板