Maison >développement back-end >Tutoriel Python >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 ?
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)
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]]
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!