Numpy를 사용하여 1D Numpy 배열에서 로컬 최대값/최소값 찾기
1D numpy 배열에서 로컬 최대값과 최소값을 식별하는 것은 일반적인 작업입니다. 신호 처리 및 데이터 분석 분야. 간단한 접근 방식에는 요소를 가장 가까운 이웃 요소와 비교하는 것이 포함되지만, numpy/scipy 라이브러리 내에서 보다 강력한 솔루션을 찾습니다.
SciPy의 argreextrema를 사용한 솔루션
SciPy에서 버전 0.11부터 argreextrema 함수는 지역 극값을 찾는 효율적인 방법을 제공합니다. 1D 배열:
import numpy as np from scipy.signal import argrelextrema x = np.random.random(12) # Find indices of local maxima maxima_indices = argrelextrema(x, np.greater) # Find indices of local minima minima_indices = argrelextrema(x, np.less)
이 함수는 지역 최대값 또는 최소값인 요소의 인덱스가 포함된 튜플을 반환합니다.
>>> argrelextrema(x, np.greater) (array([1, 5, 7]),) >>> argrelextrema(x, np.less) (array([4, 6, 8]),)
이 지역 극값에서 실제 값을 얻으려면:
>>> x[argrelextrema(x, np.greater)[0]]
추가 기능 SciPy
argrelextrema 외에도 SciPy는 최대값 또는 최소값만 찾는 특수 기능을 제공합니다.
위 내용은 SciPy를 사용하여 1D Numpy 배열에서 로컬 최대값과 최소값을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!