Maison > développement back-end > Tutoriel Python > Comment calculer le temps moyen par organisation au sein de chaque cluster dans un DataFrame Pandas ?

Comment calculer le temps moyen par organisation au sein de chaque cluster dans un DataFrame Pandas ?

Susan Sarandon
Libérer: 2024-11-14 20:49:02
original
363 Les gens l'ont consulté

How to Calculate the Average Time per Organization Within Each Cluster in a Pandas DataFrame?

Effectuer une agrégation groupée et des calculs moyens

Considérez le DataFrame suivant avec des données sur le cluster, l'organisation et le temps :

  cluster org  time
0       a    8
1       a    6
2       h   34
3       c   23
4       d   74
5       w    6
Copier après la connexion

L'objectif est de calculer le temps moyen par organisation au sein de chaque cluster. Le résultat attendu devrait ressembler à :

cluster  mean(time)
1        15 #=((8 + 6) / 2 + 23) / 2
2        54 #=(74 + 34) / 2
3        6
Copier après la connexion

Solution utilisant les calculs Double GroupBy et Mean :

Pour y parvenir, utilisez la puissance de la fonction groupby de Pandas :

  1. GroupBy initial : regroupez les données par « cluster » et « org » à l'aide de groupby(['cluster', 'org']).
  2. Agrégat intermédiaire : calculez la moyenne du temps au sein de chaque groupe à l'aide de Mean().
  3. Secondary GroupBy : regroupez davantage le DataFrame résultant par 'cluster' à l'aide de groupby('cluster' ).
  4. Final Aggregate : calculez la moyenne du temps pour chaque cluster à l'aide de la fonction moyenne().
cluster_org_time = df.groupby(['cluster', 'org'], as_index=False).mean()
result = cluster_org_time.groupby('cluster')['time'].mean()
Copier après la connexion

Solution alternative pour un groupe clusterisé Moyennes :

Pour la moyenne des groupes de clusters uniquement, regroupez simplement par ['cluster'] et calculez la moyenne à l'aide de Mean().

cluster_mean_time = df.groupby(['cluster']).mean()
Copier après la connexion

Option supplémentaire pour GroupBy avec org et calcul de la moyenne :

Vous pouvez également regrouper par ['cluster', 'org'] et calculer directement la moyenne :

cluster_org_mean_time = df.groupby(['cluster', 'org']).mean()
Copier après la connexion

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.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal