1D 숫자 배열에서 로컬 최대값과 최소값을 찾는 것은 데이터의 일반적인 작업입니다. 분석. 단순한 접근 방식에는 요소를 이웃 요소와 비교하는 것이 포함될 수 있지만 널리 사용되는 과학 컴퓨팅 라이브러리의 일부로 확립된 알고리즘을 사용하는 것이 좋습니다.
이러한 라이브러리 중 하나는 1D에서 국소 극값을 찾기 위한 argrelextrema 기능을 제공하는 SciPy입니다. 배열. 이 기능은 최대값과 최소값 모두에서 작동할 수 있으므로 다목적 솔루션이 됩니다. 사용 방법은 다음과 같습니다.
import numpy as np from scipy.signal import argrelextrema # Example 1D array x = np.random.random(12) # Detect local maxima maxima_indices = argrelextrema(x, np.greater) # Detect local minima minima_indices = argrelextrema(x, np.less)
argrelextrema 함수는 국소 극점 인덱스가 있는 배열이 포함된 튜플을 반환합니다. 이는 실제 값이 아니라 입력 배열의 인덱스일 뿐입니다. 해당 값을 얻으려면 다음을 사용하십시오.
maxima_values = x[maxima_indices[0]] minima_values = x[minima_indices[0]]
편의를 위해 SciPy는 최대값과 최소값을 별도로 찾는 독립 실행형 함수 argrelmax 및 argrelmin도 제공합니다.
위 내용은 SciPy의 'argreextrema' 기능을 사용하여 1D Numpy 배열에서 로컬 최대값과 최소값을 효과적으로 감지할 수 있는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!