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 ?

Comment trier les résultats au sein des groupes à l'aide de GroupBy et de l'agrégation dans Pandas ?

DDD
Libérer: 2024-10-20 17:22:31
original
427 Les gens l'ont consulté

How to Sort Results within Groups Using GroupBy and Aggregation in 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
Copier après la connexion

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
Copier après la connexion

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!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal