Leçons ·
Le DataFrame, charger et explorer
Passer du cahier au tableau, charger un fichier, explorer et filtrer les ventes d'Awa.
Transcription
Au module précédent, Awa a écrit ses ventes dans une liste de dictionnaires, un peu comme des lignes dans un cahier. Mais sa boutique grandit, et elle a maintenant des milliers de lignes. Elle va devoir écrire une boucle pour chaque calcul ? Non, car il existe une bibliothèque faite pour cela, qui s'appelle pandas. Pandas travaille sur des tableaux, comme ceux d'un cahier, et il fait en une seule ligne ce qui demanderait une longue boucle.
Pour l'utiliser, on écrit import pandas, puis as pd pour lui donner un surnom plus court. C'est le même principe qu'avec NumPy. Retenez bien pd, car nous allons l'écrire devant chaque fonction de pandas.
Awa donne ensuite sa liste de dictionnaires à la fonction DataFrame. Regardez à droite : elle obtient un vrai tableau. Chaque dictionnaire devient une ligne, et chaque clé devient une colonne, avec son nom en haut. Les crochets et les accolades, vous les connaissez déjà : ce sont la liste et les dictionnaires du module précédent. Ce tableau a donc des lignes et des colonnes, comme une page de cahier, et pandas l'appelle un DataFrame.
Quand elle l'affiche avec print, pandas ajoute à gauche un numéro à chaque ligne, en commençant à zéro, comme les casiers d'une liste. Ce numéro s'appelle l'index. Attention, ce n'est pas une donnée d'Awa : c'est seulement le numéro qui permet de retrouver une ligne.
Mais elle ne va pas recopier des milliers de lignes dans son code ? Non, ses ventes sont déjà dans un fichier, qu'on appelle un fichier CSV. La fonction read_csv le lit et le range directement dans un tableau. CSV est un format très simple : un fichier de texte où chaque ligne est une vente, et où des virgules séparent les colonnes. Entre les parenthèses, elle écrit le nom du fichier, entre guillemets. Regardez : les sept ventes sont maintenant dans le tableau.
Avant tout calcul, on regarde ce qu'on a reçu. L'attribut shape donne la taille du tableau : d'abord le nombre de lignes, puis le nombre de colonnes. Ici, 7 lignes et 3 colonnes. Remarquez qu'on n'écrit pas de parenthèses après shape, car ce n'est pas une action à lancer : c'est simplement une information sur le tableau.
Avec des milliers de lignes, on ne peut pas tout lire. La méthode head montre donc seulement le début du tableau, c'est-à-dire les cinq premières lignes si on ne lui demande rien d'autre. Cette fois, il y a des parenthèses, car head est une méthode, c'est-à-dire une action. Regardez les lignes allumées à droite : ce sont celles que head affiche.
Entre crochets, le nom d'une colonne permet de la prendre seule. Puis la méthode value_counts compte combien de fois chaque valeur revient : 3 ventes à Yaoundé, 3 à Douala et 1 à Garoua. Dans la leçon, vous verrez aussi info et describe, qui complètent cette première visite.
Et si elle veut voir seulement les ventes de plus de 2000 francs ? Elle écrit la condition, le montant supérieur à 2000, puis elle la place entre les crochets du tableau. Pandas vérifie alors la condition sur chaque ligne, et il ne garde que celles où elle est vraie. Lisez cette ligne de l'intérieur vers l'extérieur : d'abord la question posée à chaque ligne, puis le tableau qui garde les réponses vraies. Le résultat est un nouveau tableau, qu'elle appelle grosses.
La fonction len compte les lignes gardées : il y en a 3. Le tableau de départ, lui, n'a pas changé.
Et pour les grosses ventes de Douala seulement ? Il faut alors que les deux conditions soient vraies en même temps. On les relie avec le signe et commercial, et on met chacune entre parenthèses. Il reste 2 ventes. Pourquoi pas le mot and ? Parce que and ne sait pas comparer une colonne entière, ligne par ligne, alors que ce signe le sait.
Enfin, pour ajouter une colonne, on écrit simplement son nouveau nom entre crochets, puis un calcul. Ici, la remise vaut un dixième du montant, et pandas fait le calcul sur toutes les lignes d'un seul coup. Regardez : la vente de 800 francs reçoit 80 francs de remise, sans aucune boucle.
À vous maintenant : dans la leçon, chargez un vrai jeu de données et explorez-le, sans revoir la vidéo. C'est en cherchant par vous-même que ces commandes vont rester.
Voix : Google Chirp 3 HD (Despina, Enceladus).
Photos : One Idea LLC, StockSnap, CC0

