Visualiser vos données

Manipulation de données avec pandas

Maggie Matsui

Senior Content Developer at DataCamp

Histograms

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

Un histogramme des tailles de chiens. Les plus petits font moins de 20 cm et les plus grands 70 cm. La taille la plus fréquente est entre 50 et 60 cm.

Manipulation de données avec pandas

Histograms

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

Le même histogramme des tailles de chiens que dans la diapo précédente, mais avec 20 compartiments étroits.

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

Le même histogramme des tailles de chiens que dans la diapo précédente, mais avec cinq larges compartiments.

Manipulation de données avec pandas

Diagrammes à barres

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
Manipulation de données avec pandas

Diagrammes à barres

avg_weight_by_breed.plot(kind="bar")

plt.show()

Un diagramme à barres des poids moyens des chiens, en kilogrammes, par race. Les St. Bernard sont les plus lourds, les chihuahuas les plus légers.

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

Le même diagramme à barres qu'à gauche, avec un titre ajouté « Mean Weight by Dog Breed ».

Manipulation de données avec pandas

Graphiques linéaires

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

Un diagramme linéaire du poids de Sully dans le temps. Le poids varie entre 27 et 36 kilogrammes.

Manipulation de données avec pandas

Pivoter les étiquettes d'axe

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

Le même graphique linéaire du poids de Sully que dans la diapo précédente, mais avec les étiquettes de l'axe x pivotées de 45 degrés dans le sens horaire.

Manipulation de données avec pandas

Nuages de points

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

Un nuage de points poids vs taille des chiens. Quand la taille augmente, le poids aussi. On observe des grappes ; correspondent-elles aux races ?

Manipulation de données avec pandas

Superposer des graphiques

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

plt.show()

Deux histogrammes des tailles de chiens dans le même graphique. L'un bleu, l'autre orange. L'orange recouvre le bleu, ce qui rend la lecture difficile.

Manipulation de données avec pandas

Ajouter une légende

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

Le même graphique à deux histogrammes que dans la diapo précédente, avec une légende. « F » (femelle) en bleu et « M » (mâle) en orange. La lecture reste difficile.

Manipulation de données avec pandas

Transparence

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

Le même graphique à deux histogrammes, mais avec transparence. On voit maintenant les barres femelles auparavant masquées par celles des mâles. C'est encore un peu brouillon. Les cours Seaborn offrent des graphiques plus soignés.

Manipulation de données avec pandas

Avocats

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]
Manipulation de données avec pandas

Passons à la pratique !

Manipulation de données avec pandas

Preparing Video For Download...