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

Susan Sarandon
Libérer: 2024-10-19 12:21:29
original
336 Les gens l'ont consulté

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

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

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

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

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!

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
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!