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

NumPy를 사용하여 Python에서 실행 평균(이동 평균)을 계산하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-27 19:16:11287검색

How to Calculate a Running Mean (Moving Average) in Python Using NumPy?

NumPy를 사용하여 Python에서 실행 평균

1D 배열의 이동 평균이라고도 하는 이동 평균을 계산하는 것은 일반적인 작업입니다. 데이터 분석 중. NumPy는 실행 평균을 포함하여 컨볼루션 작업을 수행하기 위해 np.convolve라는 강력한 도구를 제공합니다.

정의 및 구현:

실행 평균은 창을 따라 슬라이딩하는 것과 관련됩니다. 입력 배열을 입력하고 각 단계에서 창 내 값의 평균을 계산합니다. NumPy에서 이는 다음과 같이 달성됩니다:

import numpy as np

array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
window_size = 3

result = np.convolve(array, np.ones(window_size) / window_size, mode='valid')

설명:

  • np.ones(window_size)는 다음과 같은 크기의 배열을 생성합니다. 창 크기.
  • np.ones(window_size) / window_size는 창 크기를 정규화합니다. 각 요소를 창 크기로 나누어 배열을 생성하면 산술 평균을 계산하기 위한 커널이 생성됩니다.
  • np.convolve는 커널을 가져와 입력 배열과 컨벌루션하여 슬라이딩 평균 계산을 수행합니다.
  • mode='valid'는 창으로 완전히 덮일 수 있는 배열 부분만 반환되도록 지정하여 결과 크기가 len(array) - window_size가 되도록 지정합니다. 1.

가장자리 처리:

np.convolve의 모드 인수는 컨볼루션 중에 배열의 가장자리가 처리되는 방법을 제어합니다. 사용 가능한 모드는 'full', 'same' 및 'valid'입니다.

  • 'full'에는 원래 길이와 추가된 0이 모두 포함됩니다.
  • 'same'은 까지 0을 추가합니다. 출력 모양은 입력 모양과 동일합니다.
  • '유효'에는 배열에서 완전히 덮을 수 있는 부분만 포함됩니다. window.

'유효' 모드는 일반적으로 누계 평균에 사용됩니다. 이는 배열의 시작과 끝의 윈도우 섹션을 포함하지 않는 결과를 제공하기 때문입니다.

예:

위 예의 결과는 다음과 같습니다. be:

[4.  5.  6.  7.  8.  9.]

창 크기가 3인 입력 배열의 실행 평균을 나타냅니다.

위 내용은 NumPy를 사용하여 Python에서 실행 평균(이동 평균)을 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.