Vizualizarea datelor

Manipularea datelor cu pandas

Maggie Matsui

Senior Content Developer at DataCamp

Histograme

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

Histogramă a înălțimii câinilor. Cei mai scunzi sunt sub 20 cm, cei mai înalți ating 70 cm. Înălțimea cea mai frecventă este între 50 și 60 cm.

Manipularea datelor cu pandas

Histograme

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

Aceeași histogramă a înălțimii câinilor, acum cu 20 de intervale înguste.

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

Aceeași histogramă a înălțimii câinilor, acum cu cinci intervale largi.

Manipularea datelor cu pandas

Grafice cu bare

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
Manipularea datelor cu pandas

Grafice cu bare

avg_weight_by_breed.plot(kind="bar")

plt.show()

Grafic cu bare al greutății medii a câinilor (în kilograme), pe rase. Câinii St. Bernard sunt cei mai grei, iar chihuahua cei mai ușori.

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

Același grafic cu bare, dar cu titlul „Mean Weight by Dog Breed".

Manipularea datelor cu pandas

Grafice liniare

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

Grafic liniar al greutății câinelui Sully în timp. Greutatea variază între 27 și 36 de kilograme.

Manipularea datelor cu pandas

Rotirea etichetelor axei

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

Același grafic liniar al greutății lui Sully, dar cu etichetele de pe axa x rotite cu 45 de grade în sensul acelor de ceasornic.

Manipularea datelor cu pandas

Grafice de dispersie

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

Grafic de dispersie al greutății față de înălțimea câinilor. Pe măsură ce înălțimea crește, crește și greutatea. Există câteva grupări — probabil corespund raselor.

Manipularea datelor cu pandas

Suprapunerea graficelor

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

plt.show()

Două histograme ale înălțimii câinilor pe același grafic. Una este albastră, cealaltă portocalie. Histograma portocalie o acoperă pe cea albastră, fiind dificil de interpretat.

Manipularea datelor cu pandas

Adăugarea unei legende

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

Același grafic cu două histograme, acum cu legendă. „F" (femele) este marcat cu albastru, „M" (masculi) cu portocaliu. Suprapunerea rămâne dificil de interpretat.

Manipularea datelor cu pandas

Transparență

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

Același grafic cu două histograme, acum cu transparență. Barele din histograma femelelor, ascunse anterior, devin vizibile. Aspectul vizual rămâne modest — cursurile Seaborn oferă grafice mai atractive.

Manipularea datelor cu pandas

Avocado

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]
Manipularea datelor cu pandas

Să exersăm!

Manipularea datelor cu pandas

Preparing Video For Download...