Fonction Python NumPy numpy.histogram()
-
Syntaxe de
numpy.histogram()
-
Exemples de codes :
numpy.histogram()
-
Exemples de codes :
numpy.histogram()
pour spécifier le nombre et la taille des bacs -
Exemple de codes :
numpy.histogram()
pour utiliser le paramètredensity
-
Exemples de codes :
numpy.histogram()
pour tracer l’histogramme
La fonction Python NumPy numpy.histogram()
génère les valeurs d’un histogramme. Elle ne trace pas d’histogramme mais elle en calcule les valeurs. Nous passons un tableau en paramètre. Cette fonction calcule son histogramme et retourne un tableau qui a stocké les valeurs de l’histogramme. On peut dire qu’elle retourne la représentation numérique d’un histogramme.
Syntaxe de numpy.histogram()
numpy.histogram(a, bins=10, range=None, normed=None, weights=None, density=None)
Paramètres
a |
Il s’agit d’une structure de type tableau. Elle représente les données d’entrée pour calculer l’histogramme. |
bins |
C’est un entier, une chaîne ou une séquence de scalaires. Il représente le nombre de bins . Un bin est comme un intervalle, par exemple, 0-5, 6-10, etc. Si bins est un nombre entier, alors il représente le nombre de bins également espacés. Si c’est une chaîne, alors elle représente la méthode de calcul de l’espace des bacs. S’il s’agit d’une séquence, alors elle représente les bacs de différentes largeurs. |
range |
Il s’agit de la fourchette donnée dans un nombre à virgule flottante. Il représente la fourchette supérieure et inférieure des “bacs”. Si l’intervalle n’est pas donné, alors [a.min(), a.max()] est l’intervalle. |
normed |
Il s’agit d’un paramètre booléen. Sa fonction est similaire à celle du paramètre density mais si les cases ne sont pas espacées de manière égale, il génère des résultats incorrects. |
weights |
C’est une structure de type tableau. Sa taille est la même que celle de a . Si la density est True , alors les poids sont normalisés. |
density |
Il s’agit d’un paramètre booléen. Si sa valeur est True , alors il calcule la probabilité plutôt que la fréquence. |
Renvoie
Il retourne deux tableaux : hist
et bin_edges
. Le tableau hist
montre les valeurs de l’histogramme et bin_edges
montre les bords du bin. La taille de bin_edges
est toujours de 1 + (taille de hist
), c’est-à-dire length(hist)+1
.
Exemples de codes : numpy.histogram()
Le paramètre a
est un paramètre obligatoire. Si nous exécutons cette fonction sans passer le nombre de casiers, elle calculera dix casiers avec des espaces inégaux.
import numpy as np
a = np.array(
[89, 34, 56, 87, 90, 23, 45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78]
)
histogram = np.histogram(a)
print(histogram)
Production:
(
array([2, 3, 2, 2, 1, 0, 1, 2, 3, 4], dtype=int64),
array([2.0, 10.8, 19.6, 28.4, 37.2, 46.0, 54.8, 63.6, 72.4, 81.2, 90.0]),
)
Exemples de codes : numpy.histogram()
pour spécifier le nombre et la taille des bacs
Nous préciserons d’abord le nombre de bacs.
import numpy as np
a = np.array(
[89, 34, 56, 87, 90, 23, 45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78]
)
histogram = np.histogram(a, bins=2)
print(histogram)
Production:
(array([10, 10], dtype=int64), array([ 2., 46., 90.]))
Le code ci-dessus a permis de calculer un histogramme comportant 2 bacs. Les bacs sont [2., 46.]
et [46., 90.]
.
Maintenant, nous allons spécifier le bord des bacs.
import numpy as np
a = np.array(
[89, 34, 56, 87, 90, 23, 45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78]
)
histogram = np.histogram(a, bins=[0, 30, 60, 90])
print(histogram)
Production:
(array([7, 4, 9]), array([0, 30, 60, 90]))
Exemple de codes : numpy.histogram()
pour utiliser le paramètre density
import numpy as np
a = np.array(
[89, 34, 56, 87, 90, 23, 45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78]
)
histogram = np.histogram(a, bins=5, density=True)
print(histogram)
Production:
(array([ 0.01420455, 0.01136364, 0.00284091, 0.00852273, 0.01988636]),
array([ 2. , 19.6, 37.2, 54.8, 72.4, 90. ]))
Notez qu’au lieu de calculer les valeurs de l’histogramme, la fonction génère la probabilité.
Exemples de codes : numpy.histogram()
pour tracer l’histogramme
Nous pouvons tracer l’histogramme en utilisant pyplot
.
from matplotlib import pyplot as plt
import numpy as np
a = np.array(
[89, 34, 56, 87, 90, 23, 45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78]
)
plt.hist(a, bins=[0, 20, 40, 60, 80, 100])
plt.title("histogram")
plt.show()
Production: