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
411 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!

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