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!