Das Finden lokaler Maxima und Minima in 1D-numerischen Arrays ist eine häufige Aufgabe in Daten Analyse. Während vereinfachende Ansätze möglicherweise den Vergleich eines Elements mit seinen Nachbarn beinhalten, ist es ratsam, etablierte Algorithmen als Teil populärwissenschaftlicher Computerbibliotheken zu verwenden.
Eine solche Bibliothek ist SciPy, die die Argrelextrema-Funktion zum Auffinden lokaler Extrema in 1D bietet Arrays. Diese Funktion kann sowohl mit Maxima als auch mit Minima arbeiten, was sie zu einer vielseitigen Lösung macht. So verwenden Sie es:
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)
Die argrelextrema-Funktion gibt ein Tupel zurück, das ein Array mit den Indizes lokaler Extrema enthält. Beachten Sie, dass es sich lediglich um die Indizes im Eingabearray handelt, nicht um die tatsächlichen Werte. Um die entsprechenden Werte zu erhalten, verwenden Sie:
maxima_values = x[maxima_indices[0]] minima_values = x[minima_indices[0]]
Der Einfachheit halber bietet SciPy auch die eigenständigen Funktionen argrelmax und argrelmin zum separaten Suchen von Maxima und Minima.
Das obige ist der detaillierte Inhalt vonWie kann die Funktion „argrelextrema' von SciPy verwendet werden, um lokale Maxima und Minima in 1D-Numpy-Arrays effektiv zu erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!