Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Consolider, compter et trier
Lors du volet précédent, nous avons appris à établir des synthèses statistiques très intéressantes grâce à une
formule Python. Dans ce nouveau chapitre, nous allons apprendre qu'il est aussi possible de produire ces analyses précises sur
plusieurs colonnes clé à la fois.
Classeur Excel à télécharger
Pour appuyer les travaux, nous suggérons de récupérer un
classeur Excel existant.
Nous découvrons un tableau des activités de sorties. Il s'étend entre les colonnes A et E, jusqu'à la ligne 998.
Tous les départements ne sont pas recensés. Il s'agit d'un extrait d'une base de données beaucoup plus volumineuse. Chaque département propose plusieurs activités de sorties. De même, plusieurs activités peuvent être recensées dans une même ville à l'intérieur d'un département.
Nous aimerions donc premièrement dresser une
analyse statistique destinée à rendre compte du
nombre d'activités par département. Dans un deuxième temps, sur la base de
deux colonnes clé, nous souhaiterions connaître le
nombre d'activités par ville et département.
Le DataFrame
Mais tout d'abord et comme il est de coutume avec
Python, nous allons commencer par créer un
DataFrame représentant les données à analyser. Il doit simplement regrouper la colonne des départements avec celle des villes.
- Cliquer sur la cellule grisée vide pour sélectionner la cellule H2,
- Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
- Taper le début de syntaxe suivante : dv =,
dv est le nom que nous souhaitons donner à notre
DataFrame destiné à représenter les deux colonnes qu'il nous reste encore à choisir.
- Sélectionner alors toutes les données du tableau, ce qui donne : dv=xl("bdd", headers=True),
Nous avions en effet pris soin de nommer cette base :
bdd.
- Puis terminer la syntaxe comme suit : [["Département", "Ville"]],
C'est ainsi sur l'intégralité de la base de données que nous désignons uniquement les deux colonnes à retenir.
- Valider la formule par le raccourci clavier CTRL + Entrée,
Nous obtenons un
DataFrame encapsulant les données choisies. Et si vous cliquez sur son préfixe
[PY], vous obtenez un aperçu des informations que nous allons pouvoir maintenant analyser.
Compter par département
Maintenant que le
DataFrame dv représente les deux colonnes souhaitées, nous allons pouvoir lui appliquer des
méthodes Python pour notamment réaliser le décompte des activités de sorties par département, après recoupement précisément sur les noms des départements.
- En bas de la feuille Excel, cliquer sur le deuxième onglet nommé Syntheses,
Nous découvrons la présence de deux grilles vides en attente de nos formules d'
analyses statistiques.
- Cliquer sur la première case vide au-dessus de la première grille pour sélectionner B2,
- Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
- Débuter la construction de la syntaxe comme suit : dv.groupby(["Département"]),
Grâce à la
méthode Python groupby, nous réunissons tous les départements du même nom sur une même ligne. Il n'y aura plus de doublons. Maintenant, l'enjeu sur ces données consolidées est de réaliser le décompte souhaité. Et pour cela,
Python offre une méthode d'agrégation qui selon le paramètre qui lui est passé, permet de réaliser différents calculs.
- Taper un point (.) pour appeler la méthode Python à suivre,
- Puis, inscrire la méthode agg comme suit : agg("count"),
- Valider la formule Python par le raccourci clavier CTRL + Entrée,
- Puis, à gauche de la barre de formule, cliquer sur la flèche orientée vers le bas,
- Dans les propositions, choisir Valeur Excel,
C'est ainsi que nous transformons les données encapsulées en tableau.
Nous obtenons une synthèse intéressante qui réalise bien le décompte des activités par département.
Trier les données consolidées
Bien qu'intéressante, elle n'est cependant pas pleinement satisfaisante. En effet, en l'absence de tri, la lecture et l'interprétation de l'analyse s'en trouvent quelque peu compliquées. Mais comme nous l'avons appris, les
méthodes Python peuvent s'énoncer en cascade. Et ça aussi nous le savons, c'est la
méthode sort_values qui permet de
réorganiser les données sur une ou plusieurs colonnes clé.
- Sélectionner de nouveau la cellule B2,
- Dans la barre de formule, cliquer à la toute fin de la syntaxe pour y placer le point d'insertion,
- Taper un point (.) pour annoncer la nouvelle méthode Python à suivre,
- Inscrire la méthode de tri comme suit : sort_values("Ville", ascending=False),
De cette manière, sur ces regroupements par département, nous demandons une organisation décroissante sur le deuxième champ, tel qu'il a été nommé à la sortie par Python.
- Valider la formule par le raccourci clavier CTRL + Entrée,
Comme vous le constatez, nous obtenons l'organisation souhaitée sur ces données recoupées pour une lecture beaucoup plus efficace des statistiques. Dans cet extrait de base de données, c'est le département du Var qui offre le plus d'activités de sorties.
Regrouper sur deux colonnes clé
Désormais, nous souhaitons compter les activités de sorties par villes regroupées dans leurs départements respectifs. Cela signifie que nous devons commencer par réaliser un
regroupement sur deux clés, toujours grâceà la
méthode Python groupby.
- Cliquer sur la case vide au-dessus de la seconde grille pour sélectionner la cellule E2,
- Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
- Débuter comme suit pour désigner les deux clés : dv.groupby(["Département", "Ville"]),
Il s'agit bien des villes à regrouper dans les départements.
- Poursuivre la syntaxe comme suit, sans oublier le point : .size().reset_index(name='counts'),
La
méthode reset_index sert à convertir l'index de regroupement en colonnes normales, et son paramètre
name='counts' indique l'opération de synthèse attendue par ville, soit le décompte. Si vous validez à ce stade, vous obtenez bien le décompte des activités par ville mais avec une vue encore moins favorable que la précédente étant donnée la quantité de lignes synthétisées. C'est pourquoi, de nouveau un
tri décroissant s'impose et donc la
méthode sort_values est de mise une fois encore.
- Terminer la syntaxe comme suit : .sort_values("counts", ascending=False),
Le schéma est identique au précédent, nous organisons un tri décroissant (ascending=False) sur la colonne de décompte (counts) par la
méthode Python sort_values.
- Valider la formule par le raccourci clavier CTRL + Entrée,
- A gauche de la barre de formule, cliquer sur la flèche orientée vers le bas,
- Dans les propositions, choisir Valeur Excel,
Nous obtenons une synthèse remarquable d'utilité et de puissance que nous aurions normalement dû bâtir avec l'éditeur de requêtes Access ou encore son langage SQL. Mais désormais, avec les
méthodes Python intégrées dans
Excel, ces prouesses sont rendues possibles, sans trop de difficultés de conception.