"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 루프 없이 Numpy에서 1D 배열의 롤링 표준 편차를 효율적으로 계산하려면 어떻게 해야 합니까?

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

2024년 11월 17일에 게시됨
검색:511

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)를 각 창에 적용하여 원하는 롤링 계산을 얻습니다.

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

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)

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

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3