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 chiffres au dataframe.
Considérez le dataframe df :
df = pd.DataFrame({'c':[1,1,1,2,2,2,2],'type':['m','n','o','m','m','n','n']})
Pour compter les valeurs de type pour chaque c, on peut utiliser la fonction value_counts sur la dataframe groupée :
g = df.groupby('c')['type'].value_counts().reset_index(name='t')
Cela crée une nouvelle trame de données g avec le nombre de groupes. Pour ajouter une colonne à g avec la taille de chaque groupe, nous pouvons utiliser la fonction de transformation :
g['size'] = df.groupby('c')['type'].transform('size')
transform applique une fonction à chaque groupe dans la trame de données d'origine et renvoie une série avec son index aligné sur la trame de données d'origine. 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. La trame de données g résultante ressemblera désormais à ceci :
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
Cela montre un moyen simple d'ajouter une nouvelle colonne à un dataframe groupé en fonction des résultats d'une agrégation groupby.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3