Maison  >  Article  >  développement back-end  >  Comment ajouter une colonne avec des comptes de groupes à une trame de données groupée dans Pandas ?

Comment ajouter une colonne avec des comptes de groupes à une trame de données groupée dans Pandas ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-19 12:21:29337parcourir

How to Add a Column with Group Counts to a Grouped Dataframe in Pandas?

Comment ajouter une colonne à un dataframe groupé dans Pandas

Dans l'analyse des données, il est souvent nécessaire de regrouper les données et d'effectuer des calculs sur chaque groupe. Pandas offre un moyen pratique de le faire grâce à sa fonction groupby. Une tâche courante consiste à compter les valeurs d'une colonne au sein de chaque groupe et à ajouter une colonne contenant ces décomptes au dataframe.

Considérez le dataframe df :

<code class="python">df = pd.DataFrame({'c':[1,1,1,2,2,2,2],'type':['m','n','o','m','m','n','n']})</code>

Pour compter les valeurs de tapez pour chaque c, nous pouvons utiliser la fonction value_counts sur le dataframe groupé :

<code class="python">g = df.groupby('c')['type'].value_counts().reset_index(name='t')</code>

Cela crée un nouveau dataframe g avec les décomptes de groupe. Pour ajouter une colonne à g avec la taille de chaque groupe, nous pouvons utiliser la fonction de transformation :

<code class="python">g['size'] = df.groupby('c')['type'].transform('size')</code>

transform applique une fonction à chaque groupe dans la trame de données d'origine et renvoie une série avec son index aligné sur le trame de données originale. Dans ce cas, nous utilisons la fonction size pour compter le nombre d'éléments dans chaque groupe et l'attribuer à la nouvelle taille de colonne. Le dataframe g résultant ressemblera maintenant à ceci :

<code class="python">   c type  t  size
0  1    m  1     3
1  1    n  1     3
2  1    o  1     3
3  2    m  2     4
4  2    n  2     4</code>

Cela montre un moyen simple d'ajouter une nouvelle colonne à un dataframe groupé en fonction des résultats d'une agrégation groupby.

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