¿Cómo crear un histograma a partir de Pandas DataFrame?
Un histograma es una representación gráfica de la distribución de un conjunto de datos. Es una herramienta poderosa para visualizar la forma, la extensión y la tendencia central de un conjunto de datos. Los histogramas se utilizan comúnmente en análisis de datos, estadísticas y aprendizaje automático para identificar patrones, anomalías y tendencias en los datos.
Pandas es una biblioteca popular de análisis y manipulación de datos en Python. Proporciona una variedad de funciones y herramientas para trabajar con datos estructurados, incluida la lectura, escritura, filtrado, limpieza y transformación de datos. Pandas también se integra bien con otras bibliotecas de visualización de datos como Matplotlib, Seaborn y Plotly.
Para crear un histograma a partir de un Pandas DataFrame, primero debemos extraer los datos que queremos trazar. Podemos hacer esto seleccionando una columna del DataFrame usando su nombre o índice. Una vez que tenemos los datos, podemos pasarlos a una función de histograma desde una biblioteca de visualización para generar el gráfico.
Hay varias formas de crear un histograma a partir de Pandas DataFrame utilizando diferentes bibliotecas de visualización. Por ejemplo, podemos usar el método "hist" de Pandas, la función "histograma" de NumPy o la función "distplot" de Seaborn. También podemos personalizar la apariencia del histograma cambiando el color, los contenedores, el título, las etiquetas de los ejes y otras propiedades.
Sintaxis
Usaremos la siguiente sintaxis para crear un histograma desde Pandas DataFrame.
DataFrame.hist(column=None, by=None, grid=True, xlabelsize=None, xrot=None, ylabelsize=None, yrot=None, ax=None, sharex=False, sharey=False, figsize=None, layout=None, bins=10, backend=None, legend=False, **kwargs)
Explicación
Aquí hay una explicación de los parámetros principales:
columna − El nombre o índice de la columna a trazar. Si no hay ninguno, se trazan todas las columnas.
por − El nombre o índice de la columna para agrupar los datos. Si se proporcionan, se crean varios histogramas, uno para cada grupo.
cuadrícula − Si se muestra la cuadrícula líneas en la trama.
xlabelsize, xrot, ylabelsize, yrot − Tamaño y rotación de las etiquetas de los ejes x e y.
ax − Objeto de eje Matplotlib para trama en. Si no hay ninguno, se crea un nuevo eje.
sharex, sharey − Si comparta el eje x o el eje y entre las subtramas.
figsize − Tamaño de la figura en pulgadas (ancho, alto).
diseño − (filas, columnas ) del diseño de la subtrama. Si se proporciona, se ignora el parámetro "by".
bins − El número de contenedores para usar en el histograma. Puede ser un número entero o una secuencia de bordes de contenedor.
-
backend − El backend de trazado para uso, como 'matplotlib' o 'plotly'.
leyenda − Si se muestra el leyenda sobre la trama.
Ahora exploremos los ejemplos en los que crearemos estos histogramas.
Histograma de una sola columna
Un histograma de una sola columna en Python es una representación gráfica de la distribución de frecuencia de un conjunto de datos con una sola columna de datos. Considere el código que se muestra a continuación.
import pandas as pd
import matplotlib.pyplot as plt
# Read the CSV file into a DataFrame
df = pd.read_csv('data.csv')
# Plot a histogram of a single column in the DataFrame
df.hist(column='column_name')
# Set the title and axis labels
plt.title('Histogram of Column Name')
plt.xlabel('Values')
plt.ylabel('Frequency')
# Display the histogram
plt.show()
Explicación
Importe las bibliotecas necesarias, incluidas pandas y matplotlib.pyplot.
Lea el archivo CSV en un Pandas DataFrame usando la función pd.read_csv().
Utilice la función df.hist() para trazar un histograma de una sola columna en el DataFrame.
Establezca el título y las etiquetas de los ejes utilizando las funciones plt.title(), plt.xlabel() y plt.ylabel().
Muestre el histograma usando la función plt.show().
Para ejecutar el código anterior, necesita instalar la biblioteca pandas y matplotlib, y para eso, puede usar el siguiente comando:
pip3 install pandas matplotlib
Producción
Una vez que pandas y matplotlib se hayan instalado correctamente, puede ejecutar el código y producirá el siguiente histograma:
Histograma de múltiples columnas
Un histograma de múltiples columnas en Python es una representación gráfica de la distribución de frecuencia de un conjunto de datos con múltiples columnas de datos. Considere el código que se muestra a continuación.
import pandas as pd
import matplotlib.pyplot as plt
# Read the CSV file into a DataFrame
df = pd.read_csv('data.csv')
# Plot histograms of all columns in the DataFrame
df.hist()
# Set the title and axis labels for each histogram
for ax in plt.gcf().axes:
ax.set_title(ax.get_title().replace('Histogram of ', ''))
ax.set_xlabel('Values')
ax.set_ylabel('Frequency')
# Display the histograms
plt.show()
Explicación
Este código Python lee un archivo CSV y traza histogramas para todas las columnas del archivo usando Pandas y Matplotlib. Luego establece los títulos y las etiquetas de los ejes para cada histograma antes de mostrarlos en la pantalla.
Producción
Tras la ejecución, producirá el siguiente resultado:
Conclusión
En conclusión, crear un histograma a partir de Pandas DataFrame es una forma sencilla y eficaz de visualizar la distribución de datos. Con la ayuda de las bibliotecas Pandas y Matplotlib, puede crear rápidamente un histograma para una sola columna o varias columnas de datos en un DataFrame, personalizar la apariencia del histograma y agregar etiquetas y títulos de ejes para hacerlo más informativo.