Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann die Funktion „argrelextrema“ von SciPy verwendet werden, um lokale Maxima und Minima in 1D-Numpy-Arrays effektiv zu erkennen?

Wie kann die Funktion „argrelextrema“ von SciPy verwendet werden, um lokale Maxima und Minima in 1D-Numpy-Arrays effektiv zu erkennen?

Susan Sarandon
Susan SarandonOriginal
2024-11-16 07:04:02524Durchsuche

How can SciPy's `argrelextrema` function be used to effectively detect local maxima and minima in 1D Numpy arrays?

Lokale Extrema-Erkennung in 1D-Numpy-Arrays mit SciPy

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn