>  기사  >  백엔드 개발  >  루프 없이 Numpy에서 1D 배열의 롤링 표준 편차를 효율적으로 계산하려면 어떻게 해야 합니까?

루프 없이 Numpy에서 1D 배열의 롤링 표준 편차를 효율적으로 계산하려면 어떻게 해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-30 22:09:30162검색

How can I efficiently calculate rolling standard deviation for a 1D array in Numpy without loops?

Numpy에서 1D 배열에 대한 효율적인 롤링 윈도우 구현

롤링 윈도우의 개념에는 데이터 시퀀스를 반복하고 계산을 적용하는 것이 포함됩니다. 지정된 창 길이 내의 데이터 하위 집합. 주어진 맥락에서 작업은 Python 루프를 사용하지 않고 Numpy에서 1D 배열의 롤링 표준 편차를 계산하는 것입니다.

표준 편차는 Numpy.std를 사용하여 쉽게 얻을 수 있지만 롤링 창 부분은 도전. 그러나 블로그 게시물에 제시된 'rolling_window' 함수를 활용하면 그 기능을 1D 배열로 확장할 수 있습니다.

'rolling_window' 함수는 일련의 겹치는 창으로 재배열된 입력 배열의 보기를 생성합니다. 이러한 창에서 효율적인 계산을 촉진합니다. 원하는 함수(이 경우 Numpy.std)를 각 창에 적용하여 원하는 롤링 계산을 얻습니다.

설명하기 위해 다음 코드 조각을 고려하십시오.

<code class="python">import numpy as np

# Create a 1D array
observations = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

# Specify window length
window_length = 3

# Calculate rolling windows
rolling_windows = rolling_window(observations, window_length)

# Calculate rolling standard deviations
rolling_stds = np.std(rolling_windows, axis=1)

# Print the results
print("Rolling standard deviations:", rolling_stds)</code>

In 이 예에서 'rolling_windows'는 겹치는 창을 나타내고 'rolling_stds'는 계산된 롤링 표준 편차를 캡처합니다. 이러한 계산에 Numpy 함수를 사용함으로써 효율성을 높이고 계산에서 Python 루프가 필요하지 않습니다.

위 내용은 루프 없이 Numpy에서 1D 배열의 롤링 표준 편차를 효율적으로 계산하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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