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

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

Susan Sarandon
Susan Sarandon原創
2024-11-16 08:16:03226瀏覽

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn