formateur informatique

Regrouper et compter sur plusieurs colonnes avec Python

Accueil  >  Bureautique  >  Excel  >  Excel Avancé  >  Regrouper et compter sur plusieurs colonnes avec Python
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
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.

Base de données Excel à consolider et synthétiser par formule Python

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.

DataFrame Python sur deux colonnes d-un tableau Excel

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.

Synthèse sur les données regroupées par formule Python dans Excel

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,
Trier les données Excel regroupées et consolidées par formule Python

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,
Consolider et compter les données Excel sur 2 colonnes clés par formule Python

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.

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn