logo

numpy.histograma() en Python

El módulo numpy de Python proporciona una función llamada numpy.histograma() . Esta función representa la frecuencia del número de valores que se comparan con un conjunto de rangos de valores. Esta función es similar a la historia() funcion de matplotlib.pyplot .

En palabras simples, esta función se utiliza para calcular el histograma del conjunto de datos.

Sintaxis:

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

Parámetros:

x: tipo matriz

Este parámetro define una matriz aplanada sobre la cual se calcula el histograma.

bins: int o secuencia de str o escalares (opcional)

Si este parámetro se define como un número entero, entonces, en el rango dado, define el número de contenedores de igual ancho. De lo contrario, se define una matriz de bordes de contenedor que aumentaron monótonamente. También incluye el borde más a la derecha, que permite anchos de contenedores no uniformes. La última versión de numpy nos permite configurar los parámetros del contenedor como una cadena, que define un método para calcular el ancho óptimo del contenedor.

rango: (flotante, flotante) (opcional)

Este parámetro define los rangos inferior-superior de los contenedores. Por defecto, el rango es (x.min(), x.max()) . Se ignoran los valores que están fuera del rango. Los rangos del primer elemento deben ser iguales o menores que los del segundo elemento.

normado: bool (opcional)

Este parámetro es el mismo que el argumento de densidad, pero puede dar un resultado incorrecto para anchos de contenedores desiguales.

pesos: array_like (opcional)

Este parámetro define una matriz que contiene pesos y tiene la misma forma que 'X' .

convertir caracteres en cadenas

densidad: bool (opcional)

Si se establece en Verdadero, dará como resultado la cantidad de muestras en cada contenedor. Si su valor es Falso, la función de densidad dará como resultado el valor de la función de densidad de probabilidad en el contenedor.

Devoluciones:

hist: matriz

La función de densidad devuelve los valores del histograma.

edge_bin: una matriz de tipo flotante

Esta función devuelve los bordes del contenedor. (longitud (hist+1)) .

Ejemplo 1:

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

Producción:

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

En el código anterior

  • Hemos importado numpy con nombre de alias np.
  • Hemos declarado la variable 'a' y asignado el valor devuelto de np.histograma() función.
  • Hemos pasado una matriz y el valor del bin en la función.
  • Por último, intentamos imprimir el valor de 'a' .

En la salida, muestra un ndarray que contiene los valores del histograma.

Ejemplo 2:

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

Producción:

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

Ejemplo 3:

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

Producción:

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

Ejemplo 4:

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

Producción:

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

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

Producción:

 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 código anterior

  • Hemos importado numpy con nombre de alias np.
  • Hemos creado una matriz. 'a' usando np.arange() función.
  • Hemos declarado variables 'historia' y 'bin_edges' y luego se le asignó el valor devuelto de np.histograma() función.
  • Hemos pasado la matriz. 'a' y establecer 'densidad' a Verdadero en la función.
  • Intentamos imprimir el valor de 'historia' .
  • Y por último, intentamos calcular la suma de los valores del histograma usando hist.sum() y np.suma() en el que pasamos valores de histograma y bordes del contenedor.

En el resultado, muestra un ndarray que contiene los valores del histograma y la suma de los valores del histograma.