Maison >développement back-end >Tutoriel Python >Comment calculer les valeurs moyennes au sein de plusieurs groupes chez Pandas ?

Comment calculer les valeurs moyennes au sein de plusieurs groupes chez Pandas ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-14 12:49:01504parcourir

How to Calculate Average Values Within Multiple Groups in Pandas?

Regrouper par plusieurs colonnes et calculer la moyenne

Dans Pandas, vous pouvez effectuer un regroupement et une agrégation à plusieurs niveaux pour calculer des statistiques complexes. Une tâche courante consiste à calculer la moyenne d'une colonne au sein de groupes définis par plusieurs autres colonnes.

Considérez le DataFrame suivant :

cluster  org      time
1      a       8
1      a       6
2      h       34
1      c       23
2      d       74
3      w       6 

Pour calculer la moyenne du temps par organisation au sein de chaque cluster , vous pouvez regrouper le DataFrame à la fois par cluster et par organisation :

df.groupby(['cluster', 'org'], as_index=False).mean()

Cela produira un DataFrame regroupé par cluster et par organisation, avec la moyenne de temps calculé pour chaque groupe :

  cluster org     time
0       1   a  12.333333
1       1   c   23.0
2       2   h   34.0
3       2   d   74.0
4       3   w    6.0

Si vous souhaitez uniquement la moyenne du temps au sein de chaque cluster, vous pouvez regrouper uniquement par cluster :

df.groupby('cluster').mean()

Cela produira un DataFrame avec la moyenne du temps calculé pour chaque cluster :

  cluster  time
0       1   12.333333
1       2   54.0
2       3    6.0

Alternativement, vous pouvez utiliser la méthode groupby sur la combinaison multi-colonnes ['cluster', 'org'] puis calculez la moyenne du temps :

df.groupby(['cluster', 'org']).mean()['time']

Cela produira une série avec la moyenne du temps calculée pour chaque combinaison de cluster et d'organisation.

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!

Déclaration:
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