logo

numpy.histogram() en Python

Le module numpy de Python fournit une fonction appelée numpy.histogramme() . Cette fonction représente la fréquence du nombre de valeurs comparées à un ensemble de plages de valeurs. Cette fonction est similaire à hist() fonction de matplotlib.pyplot .

En termes simples, cette fonction est utilisée pour calculer l'histogramme de l'ensemble de données.

Syntaxe:

 numpy.histogram(x, bins=10, range=None, normed=None, weights=None, density=None) 

Paramètres:

x : tableau_like

Ce paramètre définit un tableau aplati sur lequel l'histogramme est calculé.

bins : int ou séquence de str ou de scalaires (facultatif)

Si ce paramètre est défini comme un nombre entier, alors dans la plage donnée, il définit le nombre de cases de même largeur. Sinon, un tableau d'arêtes de compartiments qui augmentent de manière monotone est défini. Il comprend également le bord le plus à droite, ce qui permet des largeurs de bacs non uniformes. La dernière version de numpy nous permet de définir les paramètres du bac sous forme de chaîne, qui définit une méthode de calcul de la largeur optimale du bac.

plage : (float, float)(facultatif)

des sites comme bedpage

Ce paramètre définit les plages inférieures-supérieures des bacs. Par défaut, la plage est (x.min(), x.max()) . Les valeurs qui sont en dehors de la plage sont ignorées. Les plages du premier élément doivent être égales ou inférieures à celles du deuxième élément.

normé : bool (facultatif)

Ce paramètre est identique à l'argument de densité, mais il peut donner un résultat erroné pour des largeurs de compartiment inégales.

poids : array_like (facultatif)

Ce paramètre définit un tableau qui contient des poids et a la même forme que 'X' .

densité : bool (facultatif)

S'il est défini sur True, cela donnera le nombre d'échantillons dans chaque bac. Si sa valeur est False, la fonction de densité donnera la valeur de la fonction de densité de probabilité dans le bac.

Retour:

hist : tableau

La fonction de densité renvoie les valeurs de l'histogramme.

edge_bin : un tableau de types float

Cette fonction renvoie les bords du bac (longueur(hist+1)) .

Exemple 1:

 import numpy as np a=np.histogram([1, 5, 2], bins=[0, 1, 2, 3]) a 

Sortir:

 (array([0, 1, 1], dtype=int64), array([0, 1, 2, 3])) 

Dans le code ci-dessus

  • Nous avons importé numpy avec le nom d'alias np.
  • Nous avons déclaré la variable 'a' et attribué la valeur renvoyée de np.histogramme() fonction.
  • Nous avons passé un tableau et la valeur du bin dans la fonction.
  • Enfin, nous avons essayé d'imprimer la valeur de 'un' .

Dans la sortie, il affiche un ndarray contenant les valeurs de l'histogramme.

Exemple 2 :

 import numpy as np x=np.histogram(np.arange(6), bins=np.arange(7), density=True) x 

Sortir:

 (array([0.16666667, 0.16666667, 0.16666667, 0.16666667, 0.16666667, 0.16666667]), array([0, 1, 2, 3, 4, 5, 6])) 

Exemple 3 :

 import numpy as np x=np.histogram([[1, 3, 1], [1, 3, 1]], bins=[0,1,2,3]) x 

Sortir:

 (array([0, 4, 2], dtype=int64), array([0, 1, 2, 3])) 

Exemple 4 :

 import numpy as np a = np.arange(8) hist, bin_edges = np.histogram(a, density=True) hist bin_edges 

Sortir:

 array([0.17857143, 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0.17857143]) array([0. , 0.7, 1.4, 2.1, 2.8, 3.5, 4.2, 4.9, 5.6, 6.3, 7. ]) 

Exemple 5 :

 import numpy as np a = np.arange(8) hist, bin_edges = np.histogram(a, density=True) hist hist.sum() np.sum(hist * np.diff(bin_edges)) 

Sortir:

méthode de sous-chaîne java
 array([0.17857143, 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0.17857143]) 1.4285714285714288 1.0 

Dans le code ci-dessus

  • Nous avons importé numpy avec le nom d'alias np.
  • Nous avons créé un tableau 'un' en utilisant np.arange() fonction.
  • Nous avons déclaré des variables 'histoire' et 'bin_edges' puis attribué la valeur renvoyée de np.histogramme() fonction.
  • Nous avons dépassé le tableau 'un' Et mettre 'densité' à True dans la fonction.
  • Nous avons essayé d'imprimer la valeur de 'histoire' .
  • Et enfin, nous avons essayé de calculer la somme des valeurs de l'histogramme en utilisant hist.sum() et np.sum() dans lequel nous avons transmis les valeurs de l'histogramme et les bords du bac.

Dans la sortie, il affiche un ndarray qui contient les valeurs de l'histogramme et la somme des valeurs de l'histogramme.