La méthode « groupby() » de la librairie Pandas permet de grouper les données d’une colonne et d’agréger les valeurs liées à ces données. Nous retrouvons ci-dessous :
Il est possible également de grouper les données de sorte d’avoir pour chaque lignes des valeurs en liste :
On retrouve bien dans cet exemple la liste des montants par pays. Cependant on pourrait préférer avoir un DataFrame en sortie plutôt qu’une série. Pour se faire nous pouvons utiliser le code suivant :
On observe que la méthode « reset_index » permet de conserver « Pays » en tant que colonne et non index et que de ce fait on ressort un DataFrame et non une série.
Si le DataFrame possède plusieurs colonnes, il est possible d’agréger les données en liste pour toutes les colonnes :
On observe que l’utilisation de la méthode « agg » se fait directement après la méthode « groupby ».
Puis il est possible de filtrer sur les valeurs de son choix comme ci-après :
Vous retrouverez les principales méthodes pour filtrer dans cet article.
La méthode « loc » n’est pas retenue car la colonne « Pays » n’est pas en index. Donc on filtre dans la colonne pays à partir d’un opérateur logique. Puis grâce à la méthode « filter » on conserve uniquement les données de « Marge ». Enfin la méthode « squeeze » permet de retrouver une série qui va permettre l’exploitation de la donnée.
Contactez-nous pour suivre une formation python de qualité.
Comments