>백엔드 개발 >파이썬 튜토리얼 >NumPy를 사용하여 Python에서 이동 평균을 효율적으로 계산하는 방법은 무엇입니까?

NumPy를 사용하여 Python에서 이동 평균을 효율적으로 계산하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-16 08:16:03203검색

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으로 문의하세요.