En este artículo, vamos a discutir cómo calcular los números contra los contenedores usando el módulo NumPy . Un histograma es la mejor manera de visualizar la distribución de frecuencia de un conjunto de datos al dividirlo en pequeños intervalos de igual tamaño llamados contenedores. La función de histograma Numpy es similar a la función hist() de la biblioteca matplotlib , la única diferencia es que el histograma NumPy brinda la representación numérica del conjunto de datos, mientras que hist() brinda una representación gráfica del conjunto de datos.
Al crear un histograma, es mejor no pensar en los términos de los intervalos en lugar de encontrar cuántas veces aparece cada valor, es decir, una tabla de frecuencia. Para este propósito, un diccionario de python es muy adecuado. A continuación se muestra la implementación simple del histograma en Python puro:
Python3
# Dataset a = (1, 3, 7, 7, 2, 3, 4, 7, 6, 6, 3, 5, 2) # Creating empty dictionary hist = {} # Counting the number of occurrences for i in a: hist[i] = hist.get(i, 0) + 1 # Printing the frequency table i.e histogram print(hist)
Producción:
{1: 1, 3: 3, 7: 3, 2: 2, 4: 1, 6: 2, 5: 1}
Numpy tiene una función numpy.histogram() incorporada que representa la frecuencia de distribución de datos en forma gráfica. Los rectángulos que tienen el mismo tamaño horizontal corresponden al intervalo de clase llamado bin y la altura variable correspondiente a la frecuencia.
Sintaxis: numpy.histogram(data, bins=10, range=Ninguno, normed=Ninguno, pesos=Ninguno, densidad=Ninguno)
Parámetros:
- datos: array o secuencia de array a trazar.
- contenedores: int o secuencia de str define el número de contenedores de igual ancho en un rango, el valor predeterminado es 10.
- rango: conjuntos de parámetros opcionales rango inferior y superior de contenedores.
- normado: parámetro opcional igual que el atributo de densidad, da un resultado incorrecto para un ancho de bandeja desigual.
- pesos: el parámetro opcional define una array de pesos que tienen las mismas dimensiones que los datos.
- densidad: parámetro opcional si el resultado falso contiene el número de muestras en cada contenedor, si el resultado verdadero contiene la función de densidad de probabilidad en el contenedor.
Implementación:
Python3
# Import libraries import numpy as np # Creating dataset a = np.random.randint(100, size =(50)) # Creating histogram np.histogram(a, bins = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]) hist, bins = np.histogram(a, bins = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]) # Displaying histogram print (hist) print (bins)
Producción:
[5 7 4 7 4 5 1 6 4 7] [ 0 10 20 30 40 50 60 70 80 90 100]
Aquí, la función np.histogram() tiene dos valores de retorno, hist , que proporciona la array de valores del histograma, y edge_bin , que es una array de tipos de datos flotantes que contienen los bordes del contenedor que tienen una longitud mayor que hist.
La representación numérica anterior del histograma se puede convertir en forma gráfica. La función plt() presente en el submódulo pyplot de Matplotlib toma la array del conjunto de datos y la array del contenedor como parámetro y crea un histograma de los valores de datos correspondientes. A continuación se muestran algunos ejemplos para calcular el histograma de nums contra los contenedores:
Ejemplo 1:
Python3
# Import libraries from matplotlib import pyplot as plt import numpy as np # Creating dataset a = np.random.randint(100, size=(50)) # Creating plot fig = plt.figure(figsize=(10, 7)) plt.hist(a, bins=[0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]) plt.title("Numpy Histogram") # show plot plt.show()
Producción:
Ejemplo 2:
Python3
# Import libraries from matplotlib import pyplot as plt import numpy as np # Creating dataset l = [i for i in range(50)] # Creating plot plt.hist(l, bins=[1, 2, 3, 4, 5], color='green') # show plot plt.show()
Producción:
Ejemplo 3:
Python3
# Import libraries from matplotlib import pyplot as plt import numpy as np # Creating dataset l = np.random.randint(150) # Creating plot plt.hist(l, bins=l, color='lime') # show plot plt.show()
Producción:
Publicación traducida automáticamente
Artículo escrito por jeeteshgavande30 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA