Maison >développement back-end >Tutoriel Python >Comment trier les résultats au sein des groupes à l'aide de GroupBy et de l'agrégation dans Pandas ?
regroupement des pandas et tri au sein des groupes
Vouloir trier les résultats d'une agrégation groupby est une tâche courante. Dans cet exemple, nous avons un DataFrame avec deux colonnes, 'job' et 'source', et une colonne 'count' que nous voulons regrouper et trier.
Pour ce faire, nous pouvons utiliser le groupby () pour regrouper le DataFrame par les colonnes 'job' et 'source'. Nous pouvons ensuite utiliser la méthode agg() pour agréger la colonne 'count', dans ce cas en utilisant la fonction sum.
In [168]: df.groupby(['job','source']).agg({'count':sum}) Out[168]: count job source market A 5 B 3 C 2 D 4 E 1 sales A 2 B 4 C 6 D 3 E 7
Cela nous donnera un nouveau DataFrame avec les résultats groupés. Nous pouvons ensuite utiliser la méthode sort_values() pour trier la colonne 'count' par ordre décroissant au sein de chacun des groupes.
In [34]: df.sort_values(['job','count'],ascending=False).groupby('job').head(3) Out[35]: count job source 4 7 sales E 2 6 sales C 1 4 sales B 5 5 market A 8 4 market D 6 3 market B
Cela nous donnera un nouveau DataFrame avec les 3 meilleurs résultats pour chaque groupe.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!