Comment la fonction « argrelextrema » de SciPy peut-elle être utilisée pour détecter efficacement les maxima et minima locaux dans les tableaux Numpy 1D ?

Susan Sarandon
Libérer: 2024-11-16 07:04:02
original
525 Les gens l'ont consulté

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

Détection d'extrema locaux dans des tableaux Numpy 1D avec SciPy

La recherche de maxima et de minima locaux dans des tableaux numériques 1D est une tâche courante dans les données analyse. Bien que des approches simplistes puissent impliquer de comparer un élément à ses voisins, il est conseillé d'utiliser des algorithmes établis dans le cadre de bibliothèques de calcul scientifique populaires.

L'une de ces bibliothèques est SciPy, qui offre la fonction argrelextrema pour localiser les extrema locaux en 1D. tableaux. Cette fonction peut fonctionner à la fois avec des maxima et des minima, ce qui en fait une solution polyvalente. Voici comment l'utiliser :

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)
Copier après la connexion

La fonction argrelextrema renvoie un tuple contenant un tableau avec les indices des extrema locaux. Notez qu'il ne s'agit que des indices du tableau d'entrée, pas des valeurs réelles. Pour obtenir les valeurs correspondantes, utilisez :

maxima_values = x[maxima_indices[0]]
minima_values = x[minima_indices[0]]
Copier après la connexion

Pour plus de commodité, SciPy fournit également les fonctions autonomes argrelmax et argrelmin pour rechercher séparément les maxima et les minima.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal