Fonction Python NumPy numpy.histogram()

Minahil Noor 30 janvier 2023
  1. Syntaxe de numpy.histogram()
  2. Exemples de codes : numpy.histogram()
  3. Exemples de codes : numpy.histogram() pour spécifier le nombre et la taille des bacs
  4. Exemple de codes : numpy.histogram() pour utiliser le paramètre density
  5. Exemples de codes : numpy.histogram() pour tracer l’histogramme
Fonction Python NumPy numpy.histogram()

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:

histogramme numpy