Los gráficos se utilizan básicamente para visualizar la relación entre variables. Esas variables pueden ser completamente numéricas o una categoría como un grupo, clase o división. Este artículo trata sobre las variables categóricas y cómo se pueden visualizar utilizando la biblioteca Seaborn proporcionada por Python.
Seaborn , además de ser una biblioteca de gráficos estadísticos, también proporciona algunos conjuntos de datos predeterminados. Usaremos uno de esos conjuntos de datos predeterminados llamado «consejos». El conjunto de datos de ‘propinas’ contiene información sobre las personas que probablemente comieron en un restaurante y si dejaron o no una propina a los meseros, su género, si fuman, etc.
Echemos un vistazo al conjunto de datos de consejos.
Código
Python3
# import the seaborn library import seaborn as sns # import done to avoid warnings from warnings import filterwarnings # reading the dataset df = sns.load_dataset('tips') # first five entries if the dataset df.head()
Ahora procedamos a las gráficas para que podamos ver cómo podemos visualizar estas variables categóricas.
gráfico de barras
Un gráfico de barras se usa básicamente para agregar los datos categóricos de acuerdo con algunos métodos y, de forma predeterminada, es la media. También puede entenderse como una visualización del grupo por acción. Para usar este gráfico, elegimos una columna categórica para el eje x y una columna numérica para el eje y y vemos que crea un gráfico tomando una media por columna categórica.
Sintaxis:
barplot([x, y, hue, data, order, hue_order, …])
Ejemplo:
Python3
# set the background style of the plot sns.set_style('darkgrid') # plot the graph using the default estimator mean sns.barplot(x ='sex', y ='total_bill', data = df, palette ='plasma') # or import numpy as np # change the estimator from mean to standard deviation sns.barplot(x ='sex', y ='total_bill', data = df, palette ='plasma', estimator = np.std)
Producción:
Explicación/Análisis
Si observamos el diagrama, podemos decir que el total_bill promedio para el hombre es mayor en comparación con la mujer.
- la paleta se utiliza para establecer el color de la trama
- El estimador se utiliza como una función estadística para la estimación dentro de cada contenedor categórico.
conteo
Un gráfico de recuento básicamente cuenta las categorías y devuelve un recuento de sus ocurrencias. Es una de las tramas más sencillas que ofrece la biblioteca seaborn.
Sintaxis:
countplot([x, y, hue, data, order, …])
Ejemplo:
Python3
sns.countplot(x ='sex', data = df)
Producción:
Explicación/Análisis
Observando el gráfico, podemos decir que el número de machos es mayor que el número de hembras en el conjunto de datos. Como solo devuelve el recuento basado en una columna categórica, necesitamos especificar solo el parámetro x.
diagrama de caja
Un diagrama de caja a veces se conoce como diagrama de caja y bigotes. Muestra la distribución de los datos cuantitativos que representan las comparaciones entre variables. boxplot muestra los cuartiles del conjunto de datos mientras que los bigotes se extienden para mostrar el resto de la distribución, es decir, los puntos que indican la presencia de valores atípicos.
Sintaxis:
boxplot([x, y, hue, data, order, hue_order, …])
Ejemplo:
Python3
sns.boxplot(x ='day', y ='total_bill', data = df, hue ='smoker')
Producción:
Explicación/Análisis:
x toma la columna categórica e y es una columna numérica. Por lo tanto, podemos ver la factura total gastada cada día. El parámetro «tono» se usa para agregar una separación categórica adicional. Al observar el gráfico podemos decir que las personas que no fuman tuvieron una factura más alta el viernes en comparación con las personas que fumaron.
Trama de violín
Es similar al diagrama de caja, excepto que proporciona una visualización superior y más avanzada y utiliza la estimación de la densidad del núcleo para ofrecer una mejor descripción de la distribución de datos.
Sintaxis:
violinplot([x, y, hue, data, order, …])
Ejemplo:
Python3
sns.violinplot(x ='day', y ='total_bill', data = df, hue ='sex', split = True)
Producción:
Explicación/Análisis –
- El tono se usa para separar aún más los datos usando la categoría de sexo.
- establecer split=True dibujará la mitad de un violín para cada nivel. Esto puede facilitar la comparación directa de las distribuciones.
diagrama de franjas
Básicamente crea un diagrama de dispersión basado en la categoría.
Sintaxis:
stripplot([x, y, hue, data, order, …])
Ejemplo:
Python3
sns.stripplot(x ='day', y ='total_bill', data = df, jitter = True, hue ='smoker', dodge = True)
Producción:
Explicación/Análisis –
- Un problema con el gráfico de franjas es que realmente no se puede saber qué puntos están apilados uno encima del otro y, por lo tanto, usamos el parámetro de fluctuación para agregar algo de ruido aleatorio.
- El parámetro jitter se usa para agregar una cantidad de jitter (solo a lo largo del eje categórico) que puede ser útil cuando tiene muchos puntos y se superponen, para que sea más fácil ver la distribución.
- El matiz se utiliza para proporcionar una separación categórica adicional.
- La configuración split=True se utiliza para dibujar gráficos de franjas independientes en función de la categoría especificada por el parámetro de tono.
diagrama de enjambre
Es muy similar a la gráfica de franjas, excepto por el hecho de que los puntos se ajustan para que no se superpongan. A algunas personas también les gusta combinar la idea de una gráfica de violín y una gráfica de franjas para formar esta gráfica. Una desventaja de usar swarmplot es que a veces no se escalan bien a números realmente grandes y requiere mucho cálculo para organizarlos. Entonces, en caso de que queramos visualizar correctamente un diagrama de enjambre, podemos trazarlo encima de un diagrama de violín.
Sintaxis:
swarmplot([x, y, hue, data, order, …])
Ejemplo:
Python3
sns.swarmplot(x ='day', y ='total_bill', data = df)
Producción:
Ejemplo:
Python3
sns.violinplot(x ='day', y ='total_bill', data = df) sns.swarmplot(x ='day', y ='total_bill', data = df, color ='black')
Producción:
Diagrama de factores
Es el más general de todos estos gráficos y proporciona un parámetro llamado tipo para elegir el tipo de gráfico que queremos, ahorrándonos así la molestia de escribir estos gráficos por separado. El parámetro tipo puede ser barra, violín, enjambre, etc.
Sintaxis:
sns.factorplot([x, y, hue, data, row, col, …])
Ejemplo:
Python3
sns.factorplot(x ='day', y ='total_bill', data = df, kind ='bar')
Producción:
Publicación traducida automáticamente
Artículo escrito por Choco_Chips y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA