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 중국어 웹사이트의 기타 관련 기사를 참조하세요!