Visualizar tus datos

Manipulación de datos con pandas

Maggie Matsui

Senior Content Developer at DataCamp

Histogramas

import matplotlib.pyplot as plt
dog_pack["height_cm"].hist()
plt.show()

Un histograma de las alturas de los perros. Los perros más bajos miden menos de 20 cm, y los más altos, 70 cm. La altura del perro más popular está entre 50 y 60 cm.

Manipulación de datos con pandas

Histogramas

dog_pack["height_cm"].hist(bins=20)
plt.show()

El mismo histograma de alturas de perros que se mostró en la diapositiva anterior, pero ahora con 20 intervalos estrechos

dog_pack["height_cm"].hist(bins=5)
plt.show()

El mismo histograma de las alturas de los perros que se mostró en la diapositiva anterior, pero ahora con cinco intervalos anchos

Manipulación de datos con pandas

Gráficos de barras

avg_weight_by_breed = dog_pack.groupby("breed")["weight_kg"].mean()
print(avg_weight_by_breed)
breed
Beagle         10.636364
Boxer          30.620000
Chihuahua       1.491667
Chow Chow      22.535714
Dachshund       9.975000
Labrador       31.850000
Poodle         20.400000
St. Bernard    71.576923
Name: weight_kg, dtype: float64
Manipulación de datos con pandas

Gráficos de barras

avg_weight_by_breed.plot(kind="bar")

plt.show()

Un gráfico de barras de los pesos medios de los perros, en kilogramos, divididos por razas. Los perros San Bernardo son los más pesados, mientras que los chihuahuas son los más ligeros

avg_weight_by_breed.plot(kind="bar",
    title="Mean Weight by Dog Breed")
plt.show()

El mismo gráfico de barras que a la izquierda de la pantalla, pero con un título adicional que dice "Peso medio por raza de perro"

Manipulación de datos con pandas

Gráficos lineales

sully.head()
          date    weight_kg
0   2019-01-31         36.1
1   2019-02-28         35.3
2   2019-03-31         32.0
3   2019-04-30         32.9
4   2019-05-31         32.0
sully.plot(x="date", 
           y="weight_kg", 
           kind="line")
plt.show()

Gráfico lineal del peso de un perro llamado Sully a lo largo del tiempo. El peso oscila entre 27 y 36 kilos

Manipulación de datos con pandas

Rotar las etiquetas del eje

sully.plot(x="date", y="weight_kg", kind="line", rot=45)
plt.show()

El mismo gráfico lineal del peso de Sully que se vio en la diapositiva anterior, pero con el texto del eje x girado cuarenta y cinco grados en el sentido de las agujas del reloj

Manipulación de datos con pandas

Diagramas de dispersión

dog_pack.plot(x="height_cm", y="weight_kg", kind="scatter")
plt.show()

Un gráfico de dispersión del peso de los perros frente a su altura. A medida que aumenta la altura de los perros, también lo hace su peso. Hay algunas agrupaciones. Me pregunto si corresponden a razas

Manipulación de datos con pandas

Gráficos por capas

dog_pack[dog_pack["sex"]=="F"]["height_cm"].hist()
dog_pack[dog_pack["sex"]=="M"]["height_cm"].hist()

plt.show()

En el mismo gráfico se muestran dos histogramas de las alturas de los perros. Uno es azul y el otro naranja. El histograma naranja cubre el histograma azul, lo que dificulta ver lo que ocurre

Manipulación de datos con pandas

Añadir una leyenda

dog_pack[dog_pack["sex"]=="F"]["height_cm"].hist()
dog_pack[dog_pack["sex"]=="M"]["height_cm"].hist()
plt.legend(["F", "M"])
plt.show()

El mismo gráfico con dos histogramas que en la diapositiva anterior, pero con una leyenda. "F" para hembra está marcado en azul, y "M" para macho está marcado en naranja. Sigue siendo difícil ver lo que ocurre

Manipulación de datos con pandas

Transparencia

dog_pack[dog_pack["sex"]=="F"]["height_cm"].hist(alpha=0.7)
dog_pack[dog_pack["sex"]=="M"]["height_cm"].hist(alpha=0.7)
plt.legend(["F", "M"])
plt.show()

El mismo gráfico con dos histogramas que en la diapositiva anterior, pero ahora los histogramas son transparentes. Esto permite ver las barras del histograma femenino que estaban ocultas por las barras del histograma masculino. Sigue siendo un poco feo. Deberías hacer los cursos Seaborn porque los gráficos son más bonitos

Manipulación de datos con pandas

Aguacates

print(avocados)
            date          type  year  avg_price         size     nb_sold
0     2015-12-27  conventional  2015       0.95        small  9626901.09
1     2015-12-20  conventional  2015       0.98        small  8710021.76
2     2015-12-13  conventional  2015       0.93        small  9855053.66
...          ...           ...   ...        ...          ...         ...
1011  2018-01-21       organic  2018       1.63  extra_large     1490.02
1012  2018-01-14       organic  2018       1.59  extra_large     1580.01
1013  2018-01-07       organic  2018       1.51  extra_large     1289.07

[1014 rows x 6 columns]
Manipulación de datos con pandas

¡Vamos a practicar!

Manipulación de datos con pandas

Preparing Video For Download...