Introducci贸n
Contenido
- 1 Introducci贸n
- 2 Datos de importacion
- 3 驴C贸mo trazar una parcela de distribuci贸n con Seaborn?
- 4 Trazar histograma / diagrama de distribuci贸n (trazar) con Seaborn
- 5 Trazar parcela de distribuci贸n con informaci贸n de densidad con Seaborn
- 6 Cambiar el tama帽o del contenedor de parcela de distribuci贸n con Seaborn
- 7 Trazar el diagrama de distribuci贸n con KDE
- 8 Parcela Parcela de distribuci贸n conjunta con Seaborn
- 9 Conclusi贸n
Seaborn es una de las bibliotecas de visualizaci贸n de datos m谩s utilizadas en Python, como una extensi贸n de Matplotlib. Ofrece una API simple, intuitiva pero altamente personalizable para la visualizaci贸n de datos.
En este tutorial, veremos c贸mo trazar una gr谩fica de distribuci贸n en Seaborn. Cubriremos c贸mo trazar un diagrama de distribuci贸n con Seaborn, c贸mo cambiar los tama帽os de contenedor de un diagrama de distribuci贸n, as铆 como trazar diagramas de estimaci贸n de densidad del n煤cleo sobre ellos y mostrar datos de distribuci贸n en lugar de datos de recuento.
Datos de importacion
Usaremos el Programas de Netflix conjunto de datos y visualizar las distribuciones desde all铆.
Importemos Pandas y carguemos en el conjunto de datos:
import pandas as pd
df = pd.read_csv('netflix_titles.csv')
驴C贸mo trazar una parcela de distribuci贸n con Seaborn?
Seaborn tiene diferentes tipos de parcelas de distribuci贸n que es posible que desee utilizar.
Estos tipos de gr谩ficos son: KDE Plots (kdeplot()
) y gr谩ficos de histograma (histplot()
). Ambos se pueden lograr a trav茅s del gen茅rico displot()
funci贸n, oa trav茅s de sus respectivas funciones.
Nota: Desde Seaborn 0.11, distplot()
convirti贸 displot()
. Si est谩 utilizando una versi贸n anterior, deber谩 utilizar tambi茅n la funci贸n anterior.
Empecemos a trazar.
Trazar histograma / diagrama de distribuci贸n (trazar) con Seaborn
Sigamos adelante e importemos los m贸dulos necesarios y generemos un gr谩fico de histograma / distribuci贸n.
Visualizaremos la distribuci贸n de la release_year
funci贸n, para ver cu谩ndo Netflix fue m谩s activo con nuevas incorporaciones:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import seaborn as sns
# Load the data
df = pd.read_csv('netflix_titles.csv')
# Extract feature we're interested in
data = df['release_year']
# Generate histogram/distribution plot
sns.displot(data)
plt.show()
Ahora, si ejecutamos el c贸digo, seremos recibidos con un diagrama de histograma, que muestra el recuento de apariciones de estos release_year
valores:
Trazar parcela de distribuci贸n con informaci贸n de densidad con Seaborn
Ahora, al igual que con Matplotlib, el enfoque de histograma predeterminado es contar el n煤mero de ocurrencias. En su lugar, puede visualizar la distribuci贸n de cada uno de estos release_years en porcentajes.
Modifiquemos el displot()
llamar para cambiar eso:
# Extract feature we're interested in
data = df['release_year']
# Generate histogram/distribution plot
sns.displot(data, stat="density")
plt.show()
Lo 煤nico que tenemos que cambiar es proporcionar la stat
argumento, y hacerle saber que nos gustar铆a ver la densidad, en lugar de la 'count'
.
Ahora, en lugar del recuento que hemos visto antes, se nos presentar谩 la densidad de entradas:
Cambiar el tama帽o del contenedor de parcela de distribuci贸n con Seaborn
A veces, los tama帽os de contenedores autom谩ticos no nos funcionan muy bien. Son demasiado grandes o demasiado peque帽os. De forma predeterminada, el tama帽o se elige en funci贸n de la variaci贸n observada en los datos, pero esto a veces no puede ser diferente de lo que nos gustar铆a sacar a la luz.
En nuestra trama, son un poco demasiado peque帽os y est谩n colocados de manera inc贸moda con espacios entre ellos. Podemos cambiar el tama帽o del contenedor configurando el binwidth
para cada bandeja, o estableciendo el n煤mero de bins
:
data = df['release_year']
sns.displot(data, binwidth = 3)
plt.show()
Esto har谩 que cada contenedor incluya datos en rangos de 3 a帽os:
O podemos establecer un n煤mero fijo de bins
:
data = df['release_year']
sns.displot(data, bins = 30)
plt.show()
Ahora, los datos se empaquetar谩n en 30 contenedores y, seg煤n el rango de su conjunto de datos, ser谩n muchos contenedores o una cantidad muy peque帽a:
Otra excelente manera de deshacerse de las brechas inc贸modas es establecer el discrete
argumento para True
:
data = df['release_year']
sns.displot(data, discrete=True)
plt.show()
Esto resulta en:
Trazar el diagrama de distribuci贸n con KDE
Un gr谩fico com煤n para trazar junto con un histograma es el gr谩fico de estimaci贸n de densidad de kernel. Son suaves y no pierde ning煤n valor al capturar rangos de valores en contenedores. Puede establecer un valor de intervalo m谩s grande, superponer un gr谩fico de KDE sobre el histograma y tener toda la informaci贸n relevante en la pantalla.
Afortunadamente, dado que esto era algo muy com煤n, Seaborn nos permite trazar un diagrama de KDE simplemente configurando el kde
argumento para True
:
data = df['release_year']
sns.displot(data, discrete = True, kde = True)
plt.show()
Esto ahora resulta en:
Parcela Parcela de distribuci贸n conjunta con Seaborn
A veces, es posible que desee visualizar varias funciones entre s铆 y sus distribuciones. Por ejemplo, es posible que queramos visualizar la distribuci贸n de las calificaciones del programa, as铆 como el a帽o de su adici贸n. Si busc谩ramos ver si Netflix comenz贸 a agregar m谩s contenido para ni帽os a lo largo de los a帽os, esta ser铆a una gran combinaci贸n para una trama conjunta.
Hagamos un jointplot()
:
df = pd.read_csv('netflix_titles.csv')
df.dropna(inplace=True)
sns.jointplot(x = "rating", y = "release_year", data = df)
plt.show()
Hemos eliminado los valores nulos aqu铆 ya que Seaborn tendr谩 problemas para convertirlos en valores utilizables.
Aqu铆, hemos creado un gr谩fico de histograma para la funci贸n de clasificaci贸n, as铆 como un gr谩fico de histograma para la funci贸n release_year:
Podemos ver que la mayor铆a de las entradas agregadas son TV-MA, sin embargo, tambi茅n hay muchas entradas de TV-14, por lo que hay una buena selecci贸n de programas para toda la familia.
Conclusi贸n
En este tutorial, hemos repasado varias formas de trazar una gr谩fica de distribuci贸n usando Seaborn y Python.
Si est谩 interesado en la visualizaci贸n de datos y no sabe por d贸nde empezar, aseg煤rese de consultar nuestro libro sobre Visualizaci贸n de datos en Python.
Data Visualization in Python, un libro para desarrolladores de Python principiantes e intermedios, lo guiar谩 a trav茅s de la manipulaci贸n simple de datos con Pandas, cubrir谩 bibliotecas de trazado centrales como Matplotlib y Seaborn, y le mostrar谩 c贸mo aprovechar las bibliotecas declarativas y experimentales como Altair.
Visualizaci贸n de datos en Python
隆Comprenda mejor sus datos con visualizaciones! Con 340 p谩ginas, aprender谩 los entresijos de la visualizaci贸n de datos en Python con bibliotecas populares como Matplotlib, Seaborn, Bokeh y m谩s.
.