You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/fr/3-Data-Visualization/09-visualization-quantities
leestott c32bb6bc1a
🌐 Update translations via Co-op Translator
4 weeks ago
..
README.md 🌐 Update translations via Co-op Translator 4 weeks ago
assignment.md 🌐 Update translations via Co-op Translator 4 weeks ago

README.md

Visualiser les quantités

 Sketchnote par (@sketchthedocs)
Visualiser les quantités - Sketchnote par @nitya

Dans cette leçon, vous allez explorer comment utiliser l'une des nombreuses bibliothèques Python disponibles pour apprendre à créer des visualisations intéressantes autour du concept de quantité. En utilisant un jeu de données nettoyé sur les oiseaux du Minnesota, vous pouvez découvrir de nombreux faits intéressants sur la faune locale.

Quiz pré-lecture

Observer l'envergure des ailes avec Matplotlib

Une excellente bibliothèque pour créer des graphiques simples ou sophistiqués de divers types est Matplotlib. En termes généraux, le processus de création de graphiques à l'aide de ces bibliothèques comprend l'identification des parties de votre dataframe que vous souhaitez cibler, la réalisation des transformations nécessaires sur ces données, l'attribution des valeurs des axes x et y, le choix du type de graphique à afficher, puis l'affichage du graphique. Matplotlib offre une grande variété de visualisations, mais pour cette leçon, concentrons-nous sur celles les plus appropriées pour visualiser des quantités : les graphiques linéaires, les nuages de points et les diagrammes en barres.

Utilisez le meilleur graphique en fonction de la structure de vos données et de l'histoire que vous voulez raconter.

  • Pour analyser les tendances au fil du temps : linéaire
  • Pour comparer des valeurs : barres, colonnes, camembert, nuage de points
  • Pour montrer comment les parties se rapportent à un tout : camembert
  • Pour montrer la distribution des données : nuage de points, barres
  • Pour montrer les tendances : linéaire, colonnes
  • Pour montrer les relations entre les valeurs : linéaire, nuage de points, bulles

Si vous avez un jeu de données et que vous devez découvrir combien d'un certain élément est inclus, l'une des premières tâches consistera à inspecter ses valeurs.

Il existe d'excellents 'cheat sheets' pour Matplotlib ici.

Construire un graphique linéaire sur les valeurs d'envergure des ailes des oiseaux

Ouvrez le fichier notebook.ipynb à la racine de ce dossier de leçon et ajoutez une cellule.

Note : les données sont stockées à la racine de ce dépôt dans le dossier /data.

import pandas as pd
import matplotlib.pyplot as plt
birds = pd.read_csv('../../data/birds.csv')
birds.head()

Ces données sont un mélange de texte et de chiffres :

Nom NomScientifique Catégorie Ordre Famille Genre StatutConservation LongueurMin LongueurMax MasseMin MasseMax EnvergureMin EnvergureMax
0 Dendrocygne à ventre noir Dendrocygna autumnalis Canards/Oies/Oiseaux d'eau Anseriformes Anatidae Dendrocygna LC 47 56 652 1020 76 94
1 Dendrocygne fauve Dendrocygna bicolor Canards/Oies/Oiseaux d'eau Anseriformes Anatidae Dendrocygna LC 45 53 712 1050 85 93
2 Oie des neiges Anser caerulescens Canards/Oies/Oiseaux d'eau Anseriformes Anatidae Anser LC 64 79 2050 4050 135 165
3 Oie de Ross Anser rossii Canards/Oies/Oiseaux d'eau Anseriformes Anatidae Anser LC 57.3 64 1066 1567 113 116
4 Oie rieuse Anser albifrons Canards/Oies/Oiseaux d'eau Anseriformes Anatidae Anser LC 64 81 1930 3310 130 165

Commençons par tracer certaines des données numériques à l'aide d'un graphique linéaire de base. Supposons que vous vouliez une vue de l'envergure maximale de ces oiseaux intéressants.

wingspan = birds['MaxWingspan'] 
wingspan.plot()

Envergure Max

Que remarquez-vous immédiatement ? Il semble y avoir au moins une valeur aberrante - quelle envergure impressionnante ! Une envergure de 2300 centimètres équivaut à 23 mètres - y a-t-il des ptérodactyles qui rôdent dans le Minnesota ? Enquêtons.

Bien que vous puissiez effectuer un tri rapide dans Excel pour trouver ces valeurs aberrantes, qui sont probablement des erreurs de saisie, continuez le processus de visualisation en travaillant directement à partir du graphique.

Ajoutez des étiquettes à l'axe des x pour montrer de quels oiseaux il s'agit :

plt.title('Max Wingspan in Centimeters')
plt.ylabel('Wingspan (CM)')
plt.xlabel('Birds')
plt.xticks(rotation=45)
x = birds['Name'] 
y = birds['MaxWingspan']

plt.plot(x, y)

plt.show()

envergure avec étiquettes

Même avec une rotation des étiquettes réglée à 45 degrés, il y en a trop pour être lisibles. Essayons une autre stratégie : étiqueter uniquement les valeurs aberrantes et placer les étiquettes dans le graphique. Vous pouvez utiliser un nuage de points pour faire plus de place aux étiquettes :

plt.title('Max Wingspan in Centimeters')
plt.ylabel('Wingspan (CM)')
plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)

for i in range(len(birds)):
    x = birds['Name'][i]
    y = birds['MaxWingspan'][i]
    plt.plot(x, y, 'bo')
    if birds['MaxWingspan'][i] > 500:
        plt.text(x, y * (1 - 0.05), birds['Name'][i], fontsize=12)
    
plt.show()

Que se passe-t-il ici ? Vous avez utilisé tick_params pour masquer les étiquettes du bas, puis créé une boucle sur votre jeu de données d'oiseaux. En traçant le graphique avec de petits points bleus ronds en utilisant bo, vous avez vérifié si un oiseau avait une envergure maximale supérieure à 500 et affiché son étiquette à côté du point si c'était le cas. Vous avez décalé légèrement les étiquettes sur l'axe y (y * (1 - 0.05)) et utilisé le nom de l'oiseau comme étiquette.

Qu'avez-vous découvert ?

valeurs aberrantes

Filtrer vos données

L'Aigle chauve et le Faucon des prairies, bien que probablement très grands, semblent être mal étiquetés, avec un 0 supplémentaire ajouté à leur envergure maximale. Il est peu probable que vous rencontriez un Aigle chauve avec une envergure de 25 mètres, mais si c'est le cas, faites-le nous savoir ! Créons un nouveau dataframe sans ces deux valeurs aberrantes :

plt.title('Max Wingspan in Centimeters')
plt.ylabel('Wingspan (CM)')
plt.xlabel('Birds')
plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
for i in range(len(birds)):
    x = birds['Name'][i]
    y = birds['MaxWingspan'][i]
    if birds['Name'][i] not in ['Bald eagle', 'Prairie falcon']:
        plt.plot(x, y, 'bo')
plt.show()

En filtrant les valeurs aberrantes, vos données sont maintenant plus cohérentes et compréhensibles.

nuage de points des envergures

Maintenant que nous avons un jeu de données plus propre, du moins en termes d'envergure, découvrons-en davantage sur ces oiseaux.

Bien que les graphiques linéaires et les nuages de points puissent afficher des informations sur les valeurs des données et leur distribution, nous voulons réfléchir aux valeurs inhérentes à ce jeu de données. Vous pourriez créer des visualisations pour répondre aux questions suivantes sur les quantités :

Combien de catégories d'oiseaux y a-t-il, et quels sont leurs effectifs ?
Combien d'oiseaux sont éteints, en danger, rares ou communs ?
Combien y a-t-il de genres et d'ordres différents selon la terminologie de Linné ?

Explorer les diagrammes en barres

Les diagrammes en barres sont pratiques lorsque vous devez montrer des regroupements de données. Explorons les catégories d'oiseaux présentes dans ce jeu de données pour voir laquelle est la plus courante en nombre.

Dans le fichier notebook, créez un diagramme en barres de base.

Notez que vous pouvez soit filtrer les deux oiseaux aberrants identifiés dans la section précédente, soit corriger l'erreur dans leur envergure, soit les laisser pour ces exercices qui ne dépendent pas des valeurs d'envergure.

Si vous voulez créer un diagramme en barres, vous pouvez sélectionner les données sur lesquelles vous voulez vous concentrer. Les diagrammes en barres peuvent être créés à partir de données brutes :

birds.plot(x='Category',
        kind='bar',
        stacked=True,
        title='Birds of Minnesota')

données complètes en diagramme en barres

Ce diagramme en barres, cependant, est illisible car il y a trop de données non regroupées. Vous devez sélectionner uniquement les données que vous souhaitez tracer, alors regardons la longueur des oiseaux en fonction de leur catégorie.

Filtrez vos données pour inclure uniquement la catégorie des oiseaux.

Remarquez que vous utilisez Pandas pour gérer les données, puis laissez Matplotlib faire le tracé.

Comme il y a de nombreuses catégories, vous pouvez afficher ce graphique verticalement et ajuster sa hauteur pour tenir compte de toutes les données :

category_count = birds.value_counts(birds['Category'].values, sort=True)
plt.rcParams['figure.figsize'] = [6, 12]
category_count.plot.barh()

catégorie et longueur

Ce diagramme en barres montre une bonne vue du nombre d'oiseaux dans chaque catégorie. En un clin d'œil, vous voyez que le plus grand nombre d'oiseaux dans cette région appartient à la catégorie Canards/Oies/Oiseaux d'eau. Le Minnesota est le "pays des 10 000 lacs", donc cela n'est pas surprenant !

Essayez d'autres décomptes sur ce jeu de données. Quelque chose vous surprend-il ?

Comparer les données

Vous pouvez essayer différentes comparaisons de données regroupées en créant de nouveaux axes. Essayez une comparaison de la LongueurMax d'un oiseau, en fonction de sa catégorie :

maxlength = birds['MaxLength']
plt.barh(y=birds['Category'], width=maxlength)
plt.rcParams['figure.figsize'] = [6, 12]
plt.show()

comparer les données

Rien de surprenant ici : les colibris ont la LongueurMax la plus faible comparée aux pélicans ou aux oies. C'est bien lorsque les données ont du sens logiquement !

Vous pouvez créer des visualisations plus intéressantes de diagrammes en barres en superposant des données. Superposons la LongueurMin et la LongueurMax pour une catégorie d'oiseaux donnée :

minLength = birds['MinLength']
maxLength = birds['MaxLength']
category = birds['Category']

plt.barh(category, maxLength)
plt.barh(category, minLength)

plt.show()

Dans ce graphique, vous pouvez voir l'étendue par catégorie d'oiseaux de la LongueurMin et de la LongueurMax. Vous pouvez affirmer sans risque que, selon ces données, plus l'oiseau est grand, plus son étendue de longueur est importante. Fascinant !

valeurs superposées

🚀 Défi

Ce jeu de données sur les oiseaux offre une mine d'informations sur différents types d'oiseaux dans un écosystème particulier. Cherchez sur Internet pour voir si vous pouvez trouver d'autres jeux de données orientés sur les oiseaux. Entraînez-vous à créer des graphiques et des diagrammes autour de ces oiseaux pour découvrir des faits que vous ne soupçonniez pas.

Quiz post-lecture

Révision & Auto-apprentissage

Cette première leçon vous a donné des informations sur l'utilisation de Matplotlib pour visualiser des quantités. Faites des recherches sur d'autres façons de travailler avec des jeux de données pour la visualisation. Plotly est une bibliothèque que nous ne couvrirons pas dans ces leçons, alors jetez un œil à ce qu'elle peut offrir.

Devoir

Graphiques linéaires, nuages de points et barres

Avertissement :
Ce document a été traduit à l'aide du service de traduction automatique Co-op Translator. Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.