Trouver des pics en Python
-
Utilisez la fonction
scipy.signal.find_peaks()
pour détecter les pics en Python -
Utilisez la fonction
scipy.signal.argrelextrema()
pour détecter les pics en Python -
Utilisez la fonction
detecta.detect_peaks()
pour détecter les pics en Python
Un pic est une valeur supérieure à la plupart des valeurs locales. Il peut y avoir un seul pic max global ou plusieurs pics. Les pics dans les graphiques doivent être visibles et définis et ne doivent pas être cachés dans le bruit des données.
Dans cet article, nous allons trouver les pics de différents ensembles de valeurs en Python.
Utilisez la fonction scipy.signal.find_peaks()
pour détecter les pics en Python
Le scipy.signal.find_peaks()
peut détecter les pics des données données. Peu de paramètres sont associés à cette fonction : width
, threshold
, distance
et prominence
. Il renvoie les indices de la valeur où se trouve le pic.
Par exemple,
from scipy.signal import find_peaks
lst = [
5,
3,
2,
19,
17,
8,
13,
5,
0,
6,
1,
-5,
-10,
-3,
6,
9,
8,
14,
8,
11,
3,
2,
22,
8,
2,
1,
]
peaks, _ = find_peaks(lst, height=0)
print(peaks)
Production:
[ 3 6 9 15 17 19 22]
Utilisez la fonction scipy.signal.argrelextrema()
pour détecter les pics en Python
Cette fonction est similaire à la fonction find_peaks()
. De plus, il contient un paramètre order
. Ce paramètre est un paramètre de distance qui sert de filtre de minimisation. Nous devons fournir l’argument comparator
comme méthode np.greater
pour calculer les indices des pics.
Par exemple,
import numpy as np
from scipy.signal import argrelextrema
lst = [
5,
3,
2,
19,
17,
8,
13,
5,
0,
6,
1,
-5,
-10,
-3,
6,
9,
8,
14,
8,
11,
3,
2,
22,
8,
2,
1,
]
peaks = argrelextrema(np.array(lst), np.greater)
print(peaks)
Production:
(array([ 3, 6, 9, 15, 17, 19, 22], dtype=int64),)
Utilisez la fonction detecta.detect_peaks()
pour détecter les pics en Python
Un algorithme basé sur du matériel écrit par Marcos Duarte est implémenté dans la méthode detect_peaks()
pour trouver les pics dans un ensemble de valeurs donné. Dans cette fonction, la prise en charge du réglage et du filtrage n’est pas aussi complète que les autres fonctionnalités.
Par exemple,
from detecta import detect_peaks
lst = [
5,
3,
2,
19,
17,
8,
13,
5,
0,
6,
1,
-5,
-10,
-3,
6,
9,
8,
14,
8,
11,
3,
2,
22,
8,
2,
1,
]
index = detect_peaks(lst)
print(index)
Production:
[ 3 6 9 15 17 19 22]