Je data visualiseren

Datamanipulatie met pandas

Maggie Matsui

Senior Content Developer at DataCamp

Histogrammen

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

Een histogram van de hoogte van honden. De kleinste honden zijn minder dan 20 cm hoog en de grootste honden zijn 70 cm. De populairste hoogte voor honden is tussen de 50 en 60 cm.

Datamanipulatie met pandas

Histogrammen

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

Hetzelfde histogram van de hoogte van honden dat je op de vorige dia zag, maar nu met 20 smalle bins.

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

Hetzelfde histogram van de hoogtes van honden dat je op de vorige dia zag, maar nu met vijf brede bins.

Datamanipulatie met pandas

Staafdiagrammen

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
Datamanipulatie met pandas

Staafdiagrammen

avg_weight_by_breed.plot(kind="bar")

plt.show()

Een staafdiagram van het gemiddelde gewicht van honden, in kilo's, per ras. Sint-Bernards zijn de zwaarste honden, terwijl chihuahua's de lichtste zijn.

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

Hetzelfde staafdiagram als links op het scherm, maar dan met een extra titel: "Gemiddeld gewicht per hondenras."

Datamanipulatie met pandas

Lijngrafieken

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()

Een lijngrafiek van het gewicht van een hond genaamd Sully in de loop van de tijd. Het gewicht schommelt tussen 27 en 36 kilo.

Datamanipulatie met pandas

Gedraaide as-labels

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

Dezelfde lijngrafiek van Sully's gewicht als in de vorige dia, maar nu met de tekst op de x-as, 45 graden met de klok mee gedraaid.

Datamanipulatie met pandas

Spreidingsdiagrammen

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

Een spreidingsdiagram van het gewicht van honden versus hun hoogte. Naarmate honden groter worden, worden ze ook zwaarder. Er zijn een paar clusters. Ik vraag me af of deze overeenkomen met de rassen.

Datamanipulatie met pandas

Gelaagde grafieken

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

plt.show()

Twee histogrammen van de hoogte van honden worden in dezelfde grafiek weergegeven. De ene is blauw en de andere is oranje. Het oranje histogram bedekt het blauwe histogram, waardoor het lastig is om te zien wat er gebeurt.

Datamanipulatie met pandas

Voeg een legenda toe

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

Hetzelfde diagram met twee histogrammen als in de vorige dia, maar nu met een legenda. "F" voor vrouwelijk is blauw gemarkeerd en "M" voor mannelijk is oranje gemarkeerd. Het is nog steeds lastig om te zien wat er gebeurt.

Datamanipulatie met pandas

Transparantie

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()

Hetzelfde diagram met twee histogrammen als in de vorige dia, maar nu zijn de histogrammen doorzichtig. Hierdoor kun je de balken in het vrouwelijke histogram zien die verborgen waren achter de balken in het mannelijke histogram. Het is nog steeds een beetje lelijk. Je zou de Seaborn-cursussen moeten volgen, want de grafieken zien er veel mooier uit.

Datamanipulatie met pandas

Avocado's

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]
Datamanipulatie met pandas

Laten we oefenen!

Datamanipulatie met pandas

Preparing Video For Download...