logo

numpy.histogram() a Python

El mòdul numpy de Python proporciona una funció anomenada numpy.histogram() . Aquesta funció representa la freqüència del nombre de valors que es comparen amb un conjunt d'intervals de valors. Aquesta funció és similar a la hist() funció de matplotlib.pyplot .

En paraules senzilles, aquesta funció s'utilitza per calcular l'histograma del conjunt de dades.

Sintaxi:

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

Paràmetres:

x: array_like

Aquest paràmetre defineix una matriu aplanada sobre la qual es calcula l'histograma.

convertir string en int

bins: int o seqüència de str o escalars (opcional)

Si aquest paràmetre es defineix com un nombre enter, en l'interval donat, defineix el nombre de safates d'amplada igual. En cas contrari, es defineix una matriu de vores de safata que augmenta monòtonament. També inclou la vora més dreta, que permet amples de contenidors no uniformes. L'última versió de numpy ens permet establir els paràmetres de la safata com una cadena, que defineix un mètode per calcular l'amplada òptima de la safata.

rang: (float, float) (opcional)

Aquest paràmetre defineix els rangs inferior-superior dels contenidors. Per defecte, l'interval és (x.min(), x.max()) . S'ignoren els valors que estan fora de l'interval. Els intervals del primer element han de ser iguals o inferiors al segon element.

normat: bool (opcional)

Aquest paràmetre és el mateix que l'argument densitat, però pot donar una sortida incorrecta per a amplades de safata desiguals.

pesos: array_like (opcional)

Aquest paràmetre defineix una matriu que conté pesos i té la mateixa forma que 'x' .

densitat: bool (opcional)

Si s'estableix en True, es produirà el nombre de mostres a cada safata. Si el seu valor és Fals, la funció de densitat donarà com a resultat el valor de la funció de densitat de probabilitat a la safata.

Devolucions:

hist: matriu

La funció de densitat retorna els valors de l'histograma.

edge_bin: una matriu de float dtype

Aquesta funció retorna les vores de la safata (longitud (hist+1)) .

Exemple 1:

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

Sortida:

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

En el codi anterior

  • Hem importat numpy amb el nom d'àlies np.
  • Hem declarat la variable 'a' i hem assignat el valor retornat de np.histogram() funció.
  • Hem passat una matriu i el valor de la paperera a la funció.
  • Finalment, hem intentat imprimir el valor de 'a' .

A la sortida, mostra un ndarray que conté els valors de l'histograma.

Exemple 2:

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

Sortida:

 (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 

Sortida:

 (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 

Sortida:

 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)) 

Sortida:

 array([0.17857143, 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0.17857143]) 1.4285714285714288 1.0 

En el codi anterior

  • Hem importat numpy amb el nom d'àlies np.
  • Hem creat una matriu 'a' utilitzant np.arange() funció.
  • Hem declarat variables 'hist' i 'bin_edges' i després assignat el valor retornat de np.histogram() funció.
  • Hem passat la matriu 'a' i posat 'densitat' a True a la funció.
  • Hem intentat imprimir el valor de 'hist' .
  • I, finalment, hem intentat calcular la suma dels valors de l'histograma utilitzant hist.sum() i np.sum() en què vam passar els valors de l'histograma i les vores de la paperera.

A la sortida, mostra un ndarray que conté els valors de l'histograma i la suma dels valors de l'histograma.