>  기사  >  백엔드 개발  >  Numpy를 사용하여 1D 배열의 롤링 윈도우 표준 편차를 계산하는 방법은 무엇입니까?

Numpy를 사용하여 1D 배열의 롤링 윈도우 표준 편차를 계산하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-28 03:23:30278검색

How to Calculate Rolling Window Standard Deviations on 1D Arrays Using Numpy?

1D 배열의 롤링 윈도우 표준 편차에 Numpy 사용

numpy에서는 롤링 윈도우 함수를 계산해야 하는 작업이 종종 발생합니다. 1D 배열에 대해. 간단한 접근 방식은 주어진 Python 코드 조각에 표시된 대로 루프를 사용하는 것입니다. 하지만 Numpy의 强大功能를 통해 더 효율적인 방법을 사용할 수 있습니다.

Numpy에서 롤링 윈도우 작업을 수행하는 핵심은 블로그 게시물에 소개된 Rolling_window 기능을 활용하는 것입니다. 이 함수는 입력 배열을 일련의 겹치는 창으로 재구성하여 효과적으로 2D 배열을 생성합니다. 이 2D 배열에 함수를 적용하면 창 기반 계산이 가능합니다.

롤링 표준 편차를 계산하려면 Rolling_window 함수의 출력에 numpy.std 함수를 적용하기만 하면 됩니다. 다음 수정된 코드 조각은 이 접근 방식을 보여줍니다.

import numpy as np

# Define the rolling window function
def rolling_window(a, window):
    shape = a.shape[:-1] + (a.shape[-1] - window + 1, window)
    strides = a.strides + (a.strides[-1],)
    return np.lib.stride_tricks.as_strided(a, shape=shape, strides=strides)

# Input array
observations = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Calculate rolling standard deviations
stdev = np.std(rolling_window(observations, 3), 1)

# Print the results
print(stdev)

이 코드 조각은 순수 Numpy 연산을 사용하여 지정된 1D 배열에 대한 롤링 표준 편차를 효율적으로 계산하므로 루프가 필요하지 않습니다.

위 내용은 Numpy를 사용하여 1D 배열의 롤링 윈도우 표준 편차를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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