import plotly.express as pxtips = px.data.tips()tips
total_bill
tip
sex
smoker
day
time
size
0
16.99
1.01
Female
No
Sun
Dinner
2
1
10.34
1.66
Male
No
Sun
Dinner
3
2
21.01
3.50
Male
No
Sun
Dinner
3
3
23.68
3.31
Male
No
Sun
Dinner
2
4
24.59
3.61
Female
No
Sun
Dinner
4
...
...
...
...
...
...
...
...
239
29.03
5.92
Male
No
Sat
Dinner
3
240
27.18
2.00
Female
Yes
Sat
Dinner
2
241
22.67
2.00
Male
Yes
Sat
Dinner
2
242
17.82
1.75
Male
No
Sat
Dinner
2
243
18.78
3.00
Female
No
Thur
Dinner
2
244 rows × 7 columns
2 Usar pandas para el manejo de dataframes
Código
import pandas as pd
3 Explorar un dataframe
Código
tips.dtypes
total_bill float64
tip float64
sex object
smoker object
day object
time object
size int64
dtype: object
Código
tips.head
<bound method NDFrame.head of total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4
.. ... ... ... ... ... ... ...
239 29.03 5.92 Male No Sat Dinner 3
240 27.18 2.00 Female Yes Sat Dinner 2
241 22.67 2.00 Male Yes Sat Dinner 2
242 17.82 1.75 Male No Sat Dinner 2
243 18.78 3.00 Female No Thur Dinner 2
[244 rows x 7 columns]>
Código
tips.tail
<bound method NDFrame.tail of total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4
.. ... ... ... ... ... ... ...
239 29.03 5.92 Male No Sat Dinner 3
240 27.18 2.00 Female Yes Sat Dinner 2
241 22.67 2.00 Male Yes Sat Dinner 2
242 17.82 1.75 Male No Sat Dinner 2
243 18.78 3.00 Female No Thur Dinner 2
[244 rows x 7 columns]>
Waskom, Michael L. 2021. «seaborn: statistical data visualization». Journal of Open Source Software 6 (60): 3021. https://doi.org/10.21105/joss.03021.
Ejecutar el código
---title: 'Gráficas con seaborn'author: 'Carlos Lesmes'date: "Julio 2025"format: html: number-sections: true code-fold: true embed-resources: true code-tools: true toc: true toc-depth: 3 theme: light: flatly dark: darklylang: esjupyter: python3bibliography: bibl.bib---# Traer el conjunto de datos tips```{python}import plotly.express as pxtips = px.data.tips()tips```# Usar pandas para el manejo de dataframes```{python}import pandas as pd```# Explorar un `dataframe````{python}tips.dtypes``````{python}tips.head``````{python}tips.tail``````{python}tips.head(3)``````{python}tips.index``````{python}tips.describe()``````{python}tips.columns``````{python}tips.sort_values(by="tip")``````{python}tips['smoker']``````{python}tips[0:3]```# Importar `seaborn` para graficarPara más información vea [seaborn](https://seaborn.pydata.org) y @Waskom2021 .```{python}import seaborn as snsimport matplotlib.pyplot as plt sns.set_theme()```## conjuntos de datos en `seaborn````{python}sns.get_dataset_names()```### Boxplot```{python}sns.boxplot(x=tips["total_bill"])```### Densidad con `rug` datos al eje```{python}sns.kdeplot(data=tips, x="total_bill")sns.rugplot(data=tips, x="total_bill")```### Diagrama de dispersión```{python}sns.relplot( data=tips, x="total_bill", y="tip", col="time", hue="smoker", style="smoker", size="size",)```### Histograma con densidad```{python}sns.displot(data=tips, x="total_bill", col="time", kde=True)```### Variable numérica y categórica```{python}sns.catplot(data=tips, kind="swarm", x="day", y="total_bill", hue="smoker")```## Conjunto de datos `penguins````{python}penguins = sns.load_dataset("penguins")sns.jointplot(data=penguins, x="flipper_length_mm", y="bill_length_mm", hue="species")```### Pares de variables```{python}sns.pairplot(data=penguins, hue="species") ```### Dispersión```{python}sns.relplot( data=penguins, x="bill_length_mm", y="bill_depth_mm", hue="body_mass_g")```### Histograma ```{python}sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")``````{python}sns.displot(data=penguins, x="flipper_length_mm", hue="species", col="species")``````{python}#| fig-cap: "Dispersión por hora y día"sns.relplot(data=tips, x="total_bill", y="tip", hue="time", col="day", col_wrap=2)```