Está en la página 1de 16

29/10/22, 17:16 HISTOGRAMA Y DENSIDAD.

ipynb - Colaboratory

Data:
es una data de registro de retrasos en las aerolineas

Los retrasos en la llegada de los vuelos están expresados ​en minutos y los valores negativos
significan que el vuelo se adelantó. Hay más de 300,000 vuelos con un retraso mínimo de -60
minutos y un retraso máximo de 120 minutos

La otra columna en el marco de datos es el nombre de la aerolínea que podemos usar para las
comparaciones.

1 import matplotlib.pyplot as plt
2 import seaborn as sns
3 import pandas as pd
4

1 # Read in data and examine first 10 rows
2 flights = pd.read_csv('https://media.githubusercontent.com/media/WillKoehrsen/
3 flights.set_index("Unnamed: 0", drop=True, inplace=True)
4 flights.head(10)
5

https://colab.research.google.com/drive/1I25NtL0VX06v7ovFXWjgUYnavLvecIdm#scrollTo=jdL1_PfmdKn3&uniqifier=1&printM… 1/16
29/10/22, 17:16 HISTOGRAMA Y DENSIDAD.ipynb - Colaboratory

arr_delay name

Unnamed: 0

0 11.0 United Air Lines Inc.

1 20.0 United Air Lines Inc.

2 33.0 American Airlines Inc.

3
1
flights.shape
-18.0 JetBlue Airways

4 -25.0 Delta Air Lines Inc.


(317113, 2)
5 12.0 United Air Lines Inc.

6 19.0 JetBlue Airways


Histogramas
7 -14.0 ExpressJet Airlines Inc.
Una excelente
8 manera de comenzar
-8.0 a explorar una sola variable, es con el histograma. Un
JetBlue Airways
histograma divide la variable en contenedores, cuenta los puntos de datos en cada contenedor y
9 8.0 American Airlines Inc.
muestra los contenedores en el eje x y los conteos en el eje y.

En nuestro caso, los contenedores serán un intervalo de tiempo que representa el retraso
de los vuelos y el conteo será el número de vuelos que caen en ese intervalo. El binwidth
es el parámetro más importante para un histograma y siempre debemos probar algunos
valores diferentes de binwidth para seleccionar el mejor para nuestros datos.

Para crear el hisograma, especificamos el ancho de bin por el número de bins. Para este gráfico,
usaré contenedores de 5 minutos de duración, lo que significa que la cantidad de contenedores
será el rango de los datos (de -60 a 120 minutos) dividido por el ancho del contenedor, 5
minutos ( bins = int(180/5)).

1
plt.rcParams["figure.figsize"] = (8, 5)

3
# matplotlib histogram

4
plt.hist(

5
         x= flights['arr_delay'], 

6
         color= 'blue', 

7
         edgecolor= 'black',

8
         bins= int(180/5)

9
        )

10

11
# seaborn histogram

12
sns.distplot(

13
             x= flights['arr_delay'], 

14
             hist= True, 

15
             kde= False, 

16
             bins= int(180/5), 

17
             color= 'blue',

18
             hist_kws= {'edgecolor':'black'}

https://colab.research.google.com/drive/1I25NtL0VX06v7ovFXWjgUYnavLvecIdm#scrollTo=jdL1_PfmdKn3&uniqifier=1&printM… 2/16
29/10/22, 17:16 HISTOGRAMA Y DENSIDAD.ipynb - Colaboratory

19
            )

20

21
# Add labels

22
plt.title('Histograma de retrasos en la llegada de los aviones')

23
plt.xlabel('Retraso (min)')

24
plt.ylabel('Vuelos')

25
plt.show()

/usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2619: FutureW
warnings.warn(msg, FutureWarning)

¿Cómo se me ocurrieron 5 minutos para el binwidth?


¡La única forma de averiguar un ancho de bin óptimo es probar múltiples valores! A continuación
se muestra el código para hacer la misma figura en matplotlib con un rango de binwidths. En
última instancia, no hay una respuesta correcta o incorrecta para el ancho del contenedor, pero
elijo 5 minutos porque creo que representa mejor la distribución.

1
plt.rcParams["figure.figsize"] = (20, 10)

3
# Show 4 different binwidths

5
for i, binwidth in enumerate([1, 5, 10, 15]):

6
    # Set up the plot

7
    ax = plt.subplot(2, 2, i + 1)

8
    
9
    # Draw the plot

10
    ax.hist(

11
            x= flights['arr_delay'], 

12
            bins= int(180/binwidth),

13
            color= 'blue',

14
            edgecolor= 'black'

15
           )

16
    

https://colab.research.google.com/drive/1I25NtL0VX06v7ovFXWjgUYnavLvecIdm#scrollTo=jdL1_PfmdKn3&uniqifier=1&printM… 3/16
29/10/22, 17:16 HISTOGRAMA Y DENSIDAD.ipynb - Colaboratory

17
    # Title and labels

18
    ax.set_title('Histograma con Binwidth = %d' % binwidth, size = 30)

19
    ax.set_xlabel('retraso (min)', size = 22)

20
    ax.set_ylabel('vuelos', size= 22)

21

22
plt.tight_layout(5)    #espacio entre grafico y grafico

23
plt.show()

24

La elección del ancho del contenedor afecta significativamente la gráfica resultante. Binwidths
más pequeños pueden hacer que la gráfica se desordene, pero binwidths más grandes pueden
oscurecer los matices de los datos. Matplotlib elegirá automáticamente un ancho de bin
razonable para usted, pero me gusta especificar el ancho de bin yo mismo después de probar
varios valores. No hay una respuesta verdadera correcta o incorrecta, así que pruebe algunas
opciones y vea cuál funciona mejor para sus datos particulares.

https://colab.research.google.com/drive/1I25NtL0VX06v7ovFXWjgUYnavLvecIdm#scrollTo=jdL1_PfmdKn3&uniqifier=1&printM… 4/16
29/10/22, 17:16 HISTOGRAMA Y DENSIDAD.ipynb - Colaboratory

Cuando fallan los histogramas


Los histogramas son una excelente manera de comenzar a explorar una sola variable extraída
de una categoría. Sin embargo, cuando queremos comparar las distribuciones de una variable
en varias categorías, los histogramas tienen problemas de legibilidad. Por ejemplo, si queremos
comparar las distribuciones de retrasos en las llegadas entre aerolíneas, un enfoque que no
funciona bien es crear histogramas para cada aerolínea en el mismo gráfico:
Solución #1: histogramas uno al lado del otro
En lugar de superponer los histogramas de las aerolíneas, podemos colocarlos uno al lado
del otro. Para hacer esto, creamos una lista de los retrasos en las llegadas de cada
aerolínea y luego la pasamos a la plt.hist. Tenemos que especificar diferentes colores para
cada aerolínea y una etiqueta para poder diferenciarlos.

1
plt.rcParams["figure.figsize"] = (8, 5)

3
# Make a separate list for each airline

4
x1 = list(flights[flights['name'] == 'United Air Lines Inc.']['arr_delay'])

5
x2 = list(flights[flights['name'] == 'JetBlue Airways']['arr_delay'])

6
x3 = list(flights[flights['name'] == 'ExpressJet Airlines Inc.']['arr_delay'])
7
x4 = list(flights[flights['name'] == 'Delta Air Lines Inc.']['arr_delay'])

8
x5 = list(flights[flights['name'] == 'American Airlines Inc.']['arr_delay'])

10
# Assign colors for each airline and the names

11
colors = ['#E69F00', '#56B4E9', '#F0E442', '#009E73', '#D55E00']

12
names = ['United Air Lines Inc.', 'JetBlue Airways', 'ExpressJet Airlines Inc.
13
         'Delta Air Lines Inc.', 'American Airlines Inc.']

14
         

15
# Make the histogram using a list of lists

16
# Normalize the flights and assign colors and names

17

18
plt.hist(

19
         x= [x1, x2, x3, x4, x5], 

20
         density= True, 

21
         bins= int(180/15), 

22
         color= colors, 

23
         label= names

24
        )

25

26
# Plot formatting

27
plt.legend()

28
plt.xlabel('Retraso (min)')

29
plt.ylabel('Vuelos Normalizados')

30
plt.title('Histograma uno al lado del otro con múltiples aerolíneas')

31

https://colab.research.google.com/drive/1I25NtL0VX06v7ovFXWjgUYnavLvecIdm#scrollTo=jdL1_PfmdKn3&uniqifier=1&printM… 5/16
29/10/22, 17:16 HISTOGRAMA Y DENSIDAD.ipynb - Colaboratory

/usr/local/lib/python3.7/dist-packages/numpy/core/fromnumeric.py:3208: Visibl
return asarray(a).size

/usr/local/lib/python3.7/dist-packages/matplotlib/cbook/__init__.py:1376: Vis
X = np.atleast_1d(X.T if isinstance(X, np.ndarray) else np.asarray(X))

Text(0.5, 1.0, 'Histograma uno al lado del otro con múltiples aerolíneas')

De forma predeterminada, si pasamos una lista de listas, matplotlib colocará las barras
una al lado de la otra. Aquí, cambié el ancho del contenedor a 15 minutos porque, de lo
contrario, la trama estaría demasiado desordenada, pero incluso con esta modificación,
esta no es una cifra efectiva. Hay demasiada información para procesar a la vez, las
barras no se alinean con las etiquetas y aún es difícil comparar las distribuciones entre
aerolíneas.

Cuando hacemos una trama, queremos que sea lo más fácil de entender posible para el
espectador, ¡y esta figura falla según ese criterio!.

Solución #2: barras apiladas


En lugar de trazar las barras de cada aerolínea una al lado de la otra, podemos apilarlas
pasando el parámetro stacked=True a la llamada del histograma.

1
colors = ['#E69F00', '#56B4E9', '#F0E442', '#009E73', '#D55E00']

2
names = ['United Air Lines Inc.', 'JetBlue Airways', 'ExpressJet Airlines Inc.
3
         'Delta Air Lines Inc.', 'American Airlines Inc.']

5
# Histograma apilado con varias aerolíneas 

6
plt.hist(

7
         x= [x1, x2, x3, x4, x5], 

8
         bins= int(180/15), 

9
         stacked=True, 

10
         density=True, 

11
         color=colors, 

12
         label=names

13
        )

14

https://colab.research.google.com/drive/1I25NtL0VX06v7ovFXWjgUYnavLvecIdm#scrollTo=jdL1_PfmdKn3&uniqifier=1&printM… 6/16
29/10/22, 17:16 HISTOGRAMA Y DENSIDAD.ipynb - Colaboratory

15
plt.show()

16

Bueno, ¡eso definitivamente no es mejor! Aquí, cada aerolínea se representa como una
sección del todo para cada contenedor, pero es casi imposible hacer comparaciones.
Por ejemplo, con un retraso de -15 a 0 minutos, ¿United Air Lines o JetBlue Airlines tienen
un tamaño de barra más grande? No puedo decirlo y los espectadores tampoco podrán
hacerlo. Por lo general, no soy partidario de las barras apiladas porque pueden ser difíciles
de interpretar ( aunque hay casos de uso , como cuando se visualizan proporciones).

Solucion #3 Gráficos de densidad


Primero, ¿qué es un diagrama de densidad? Un gráfico de densidad es una versión continua
suavizada de un histograma estimado a partir de los datos.

La forma más común de estimación se conoce como estimación de densidad kernel. En


este método, se dibuja una curva continua que sera el kernel, en cada punto de datos
individuales y luego se suman todas estas curvas para hacer una sola estimación de
densidad suave.

El kernel que se usa con más frecuencia es un gaussiano (que produce una curva de
campana gaussiana en cada punto de datos).

https://colab.research.google.com/drive/1I25NtL0VX06v7ovFXWjgUYnavLvecIdm#scrollTo=jdL1_PfmdKn3&uniqifier=1&printM… 7/16
29/10/22, 17:16 HISTOGRAMA Y DENSIDAD.ipynb - Colaboratory

en el grafico, cada pequeña línea vertical negra en el eje x representa un punto de datos. Los
núcleos individuales (Gaussianos en este ejemplo) se muestran dibujados en líneas
discontinuas rojas sobre cada punto. La curva azul sólida se crea sumando las gaussianas
individuales y forma el gráfico de densidad general.

El eje x es el valor de la variable como en un histograma, pero ¿qué representa


exactamente el eje y ?
El eje y en un gráfico de densidad es la función de densidad de probabilidad para la
estimación de la densidad del kernel. Sin embargo, debemos tener cuidado de especificar
que se trata de una densidad de probabilidad y no de una probabilidad. La diferencia es
que la densidad de probabilidad es la probabilidad por unidad en el eje x . Para convertir a
una probabilidad real, necesitamos encontrar el área bajo la curva para un intervalo
específico en el eje x. Algo confuso, porque esta es una densidad de probabilidad y no una
probabilidad, el eje y puede tomar valores mayores que uno.El único requisito de la gráfica
de densidad es que el área total bajo la curva se integre a uno.

En general, podemos pensar en el eje y en un gráfico de densidad como un valor solo para
comparaciones relativas entre diferentes categorías.

Gráficos de densidad en Seaborn

https://colab.research.google.com/drive/1I25NtL0VX06v7ovFXWjgUYnavLvecIdm#scrollTo=jdL1_PfmdKn3&uniqifier=1&printM… 8/16
29/10/22, 17:16 HISTOGRAMA Y DENSIDAD.ipynb - Colaboratory

Para hacer diagramas de densidad en seaborn, podemos usar la función distplot o kdeplot.
Continuaré usando la distplotfunción porque nos permite hacer múltiples distribuciones con una
llamada de función. Por ejemplo, podemos hacer un gráfico de densidad que muestre todos los
retrasos de llegada encima del histograma correspondiente.

1
# Diagrama de densidad e histograma de todos los retrasos de llegada

2
sns.distplot(

3
             x= flights['arr_delay'], 

4
             hist= True, 

5
             kde= True, 

6
             bins= int(180/5), 

7
             color= 'darkblue', 

8
             hist_kws= {'edgecolor':'black'}, 

9
             kde_kws= {'linewidth': 4}

10
            )

11

12
plt.show()

13

La curva muestra el gráfico de densidad que es esencialmente una versión suave del
histograma. El eje y está en términos de densidad y el histograma está normalizado de forma
predeterminada para que tenga la misma escala y que el gráfico de densidad.

De manera análoga al ancho de bin de un histograma, una gráfica de densidad tiene un


parámetro llamado ancho de banda que cambia los núcleos individuales y afecta
significativamente el resultado final de la gráfica. La biblioteca de gráficos elegirá un valor
razonable del ancho de banda para nosotros (por defecto usando la estimación de 'scott' ) y, a
diferencia del ancho de banda de un histograma, generalmente uso el ancho de banda
predeterminado. Sin embargo, podemos considerar el uso de diferentes anchos de banda para

https://colab.research.google.com/drive/1I25NtL0VX06v7ovFXWjgUYnavLvecIdm#scrollTo=jdL1_PfmdKn3&uniqifier=1&printM… 9/16
29/10/22, 17:16 HISTOGRAMA Y DENSIDAD.ipynb - Colaboratory

ver si hay una mejor opción. En la trama, 'scott' es el predeterminado, que parece la mejor
opción.

Tenga en cuenta que un ancho de banda más amplio da como resultado una distribución más
uniforme. También vemos que aunque limitamos nuestros datos a -60 a 120 minutos, el gráfico
de densidad se extiende más allá de estos límites. Este es un problema potencial con una
gráfica de densidad: debido a que calcula una distribución en cada punto de datos, puede
generar datos que quedan fuera de los límites de los datos originales. ¡Esto podría significar que
terminamos con valores imposibles en el eje x que nunca estuvieron presentes en los datos
originales! Como nota, también podemos cambiar el núcleo, lo que cambia la distribución
dibujada en cada punto de datos y, por lo tanto, la distribución general. Sin embargo, para la
mayoría de las aplicaciones, el kernel predeterminado, Gaussian y la estimación del ancho de
banda predeterminado funcionan muy bien.

Solución #3 Gráfica de densidad

https://colab.research.google.com/drive/1I25NtL0VX06v7ovFXWjgUYnavLvecIdm#scrollTo=jdL1_PfmdKn3&uniqifier=1&print… 10/16
29/10/22, 17:16 HISTOGRAMA Y DENSIDAD.ipynb - Colaboratory

Ahora que entendemos cómo se hace un diagrama de densidad y qué representa, veamos cómo
puede resolver nuestro problema de visualizar los retrasos en las llegadas de varias aerolíneas.
Para mostrar las distribuciones en el mismo gráfico, podemos iterar a través de las líneas
aéreas, llamando cada vez distplot con la estimación de la densidad del núcleo establecida en
Verdadero y el histograma establecido en Falso.

1
plt.rcParams["figure.figsize"] = (10, 7)

3
# List of five airlines to plot

5
airlines = ['United Air Lines Inc.', 'JetBlue Airways', 'ExpressJet Airlines I
6
         'Delta Air Lines Inc.', 'American Airlines Inc.']

8
# Iterate through the five airlines

10
for airline in airlines:

11
    # Subset to the airline

12
    subset = flights[flights['name'] == airline]

13
    
14
    # Draw the density plot

15
    sns.distplot(

16
                 x= subset['arr_delay'], 

17
                 hist= False, 

18
                 kde= True,

19
                 kde_kws= {'linewidth': 3},

20
                 label= airline

21
                )

22
    
23
# Plot formatting

24
plt.legend(prop={'size': 16}, title = 'Airline')

25
plt.title('Density Plot with Multiple Airlines')

26
plt.xlabel('Delay (min)')

27
plt.ylabel('Density')

28

29
plt.show()

30

https://colab.research.google.com/drive/1I25NtL0VX06v7ovFXWjgUYnavLvecIdm#scrollTo=jdL1_PfmdKn3&uniqifier=1&print… 11/16
29/10/22, 17:16 HISTOGRAMA Y DENSIDAD.ipynb - Colaboratory

/usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2619: FutureW
warnings.warn(msg, FutureWarning)
/usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2619: FutureW
warnings.warn(msg, FutureWarning)
/usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2619: FutureW
warnings.warn(msg, FutureWarning)
/usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2619: FutureW
warnings.warn(msg, FutureWarning)
/usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2619: FutureW
warnings.warn(msg, FutureWarning)

¡Finalmente, hemos llegado a una solución efectiva! Con el diagrama de densidad, podemos
hacer comparaciones fácilmente entre aerolíneas porque el diagrama está menos abarrotado.
Ahora que finalmente tenemos el gráfico que queremos, ¡llegamos a la conclusión de que todas
estas aerolíneas tienen distribuciones de demoras de llegada casi idénticas! Sin embargo, hay
otras aerolíneas en el conjunto de datos y podemos trazar una que sea un poco diferente para
ilustrar otro parámetro opcional para los gráficos de densidad, como el sombreando.

Gráficas de densidad sombreadas


Rellenar el gráfico de densidad puede ayudarnos a distinguir entre distribuciones superpuestas.
Aunque este no siempre es un buen enfoque, puede ayudar a enfatizar la diferencia entre las
distribuciones. Para sombrear las gráficas de densidad, pasamos shade=True en el argumento
kde_kws en la funcion distplot.

1
plt.rcParams["figure.figsize"] = (10, 7)

3
# List of five airlines to plot

5
airlines = ['United Air Lines Inc.', 'Alaska Airlines Inc.']

7
# Iterate through the five airlines

9
for airline in airlines:

10
    # Subset to the airline

11
    subset = flights[flights['name'] == airline]

12
    
13
    # Draw the density plot

14
    sns.distplot(

15
                 x= subset['arr_delay'], 

https://colab.research.google.com/drive/1I25NtL0VX06v7ovFXWjgUYnavLvecIdm#scrollTo=jdL1_PfmdKn3&uniqifier=1&print… 12/16
29/10/22, 17:16 HISTOGRAMA Y DENSIDAD.ipynb - Colaboratory

16
                 hist= False, 

17
                 kde= True,

18
                 kde_kws= {'shade': True, 'linewidth': 3},

19
                 label= airline

20
                )

21
    
22
# Plot formatting

23
plt.legend(prop={'size': 16}, title = 'Aerolinea')

24
plt.title('Gráfico sombreado de densidad del Retraso de llegada')

25
plt.xlabel('Retraso (min)')

26
plt.ylabel('Densidad')

27

28
plt.show()

/usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2619: FutureW
warnings.warn(msg, FutureWarning)
/usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2619: FutureW
warnings.warn(msg, FutureWarning)

Si sombrear o no el gráfico es, al igual que otras opciones de trazado, una cuestión que depende
del problema. Para este gráfico, creo que tiene sentido porque el sombreado nos ayuda a
distinguir las parcelas en las regiones donde se superponen. Ahora, finalmente tenemos
información útil: los vuelos de Alaska Airlines tienden a ser más tempranos que los de United
Airlines. La próxima vez que tenga la opción, ¡ya sabrá qué aerolínea elegir!.

Parcelas de alfombras
https://colab.research.google.com/drive/1I25NtL0VX06v7ovFXWjgUYnavLvecIdm#scrollTo=jdL1_PfmdKn3&uniqifier=1&print… 13/16
29/10/22, 17:16 HISTOGRAMA Y DENSIDAD.ipynb - Colaboratory

Si desea mostrar todos los valores de una distribución y no solo la densidad suavizada, puede
agregar un diagrama de alfombra. Esto muestra cada punto de datos en el eje x, lo que nos
permite visualizar todos los valores reales. El beneficio de usar Seaborn distplot que podemos
agregar el gráfico de alfombra con una sola llamada de parámetro rug=True.

1
# Subset to Alaska Airlines

2
subset = flights[flights['name'] == 'Alaska Airlines Inc.']

4
# Density Plot with Rug Plot

5
sns.distplot(

6
             x= subset['arr_delay'], 

7
             hist= False, 

8
             kde= True, 

9
             rug= True,

10
             color= 'darkblue', 

11
             kde_kws= {'linewidth': 3},

12
             rug_kws= {'color': 'black'}

13
            )

14

15
# Plot formatting

16
plt.title('Gráfico de densidad con gráfico de alfombra para Alaska Airlines')

17
plt.xlabel('Retraso (min)')

18
plt.ylabel('Densidad')

19

https://colab.research.google.com/drive/1I25NtL0VX06v7ovFXWjgUYnavLvecIdm#scrollTo=jdL1_PfmdKn3&uniqifier=1&print… 14/16
29/10/22, 17:16 HISTOGRAMA Y DENSIDAD.ipynb - Colaboratory

/usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2619: FutureW
warnings.warn(msg, FutureWarning)
/usr/local/lib/python3.7/dist-packages/seaborn/distributions.py:2103: FutureW
warnings.warn(msg, FutureWarning)
Con muchos puntos de datos, el diagrama de alfombra puede sobrecargarse, pero para algunos
Text(0, 0.5, 'Densidad')
conjuntos de datos, puede ser útil ver cada punto de datos. El gráfico de alfombras también nos
permite ver cómo el gráfico de densidad "crea" datos donde no existen porque hace una
distribución kernel en cada punto de datos. Estas distribuciones pueden filtrarse en el rango de
los datos originales y dar la impresión de que Alaska Airlines tiene demoras que son más cortas
y más largas de lo que realmente se registró. ¡Debemos tener cuidado con este artefacto de
gráficos de densidad y señalarlo a los espectadores!.

Conclusiones
Hay aún más gráficas univariadas (variable única) que podemos hacer, como gráficas empíricas
de densidad acumulada y gráficas de cuantil-cuantil, pero por ahora lo dejaremos en
histogramas y gráficos de densidad (¡y también en gráficos de alfombras!). No se preocupe si
las opciones parecen abrumadoras: con la práctica, será más fácil tomar una buena decisión y
siempre podrá pedir ayuda si la necesita. Además, a menudo no hay una opción óptima y la
decisión "correcta" se reducirá a la preferencia y los objetivos de la visualización. Lo bueno es
que no importa qué trama quieras hacer, ¡habrá una manera de hacerlo en Python! Las
visualizaciones son un medio eficaz para comunicar resultados, y conocer todas las opciones
disponibles nos permite elegir la cifra adecuada para nuestros datos.

1
! python3 --version

Python 3.7.15

https://colab.research.google.com/drive/1I25NtL0VX06v7ovFXWjgUYnavLvecIdm#scrollTo=jdL1_PfmdKn3&uniqifier=1&print… 15/16
29/10/22, 17:16 HISTOGRAMA Y DENSIDAD.ipynb - Colaboratory

Productos pagados de Colab


-
Cancela los contratos aquí

check 0 s se ejecutó 17:12

https://colab.research.google.com/drive/1I25NtL0VX06v7ovFXWjgUYnavLvecIdm#scrollTo=jdL1_PfmdKn3&uniqifier=1&print… 16/16

También podría gustarte