Maison >développement back-end >Tutoriel Python >Comment calculer des statistiques par groupe dans Pandas à l'aide de GroupBy ?

Comment calculer des statistiques par groupe dans Pandas à l'aide de GroupBy ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-19 21:26:111019parcourir

How to Calculate Group-Wise Statistics in Pandas Using GroupBy?

Comment obtenir des statistiques par groupe pour une trame de données à l'aide de Pandas GroupBy

Lorsque vous travaillez avec des données, il est souvent utile de pouvoir résumer et analyser les données en fonction de critères spécifiques. critères de regroupement. Pandas, une puissante bibliothèque Python pour la manipulation et l'analyse des données, fournit un moyen pratique de le faire grâce à sa fonctionnalité GroupBy.

Réponse rapide

Pour obtenir le nombre de lignes dans chaque groupe, utilisez le .size (), qui renvoie une méthode Series :

df.groupby(['col1','col2']).size()

Pour convertir ceci en un formulaire DataFrame, employer :

df.groupby(['col1', 'col2']).size().reset_index(name='counts')

Alternativement, pour calculer le nombre de lignes et d'autres statistiques pour chaque groupe, l'approche suivante peut être utilisée :

df.groupby(['col1', 'col2'])[['col3', 'col4']].agg({
    'col3': ['mean', 'count'], 
    'col4': ['median', 'min', 'count']
})

Exemple détaillé

Supposons que nous avoir une trame de données nommée df avec les colonnes col1 à col4. Pour illustrer, calculons le nombre de lignes par groupe :

df.groupby(['col1', 'col2']).size()

La sortie affichera le nombre de lignes dans chaque combinaison unique de valeurs col1 et col2.

Pour ajouter ces comptes sous forme de colonne à notre DataFrame, nous pouvons utiliser la méthode .reset_index(name='counts') :

df.groupby(['col1', 'col2']).size().reset_index(name='counts')

Inclure les résultats pour des statistiques supplémentaires

Si nous voulons calculer plusieurs statistiques sur les données groupées, nous pouvons utiliser la méthode agg(). Par exemple, pour calculer la moyenne et le nombre pour col3 et la médiane, le minimum et le nombre pour col4, nous utiliserions :

df.groupby(['col1', 'col2']).agg({
    'col3': ['mean', 'count'], 
    'col4': ['median', 'min', 'count']
})

Cela renverra un DataFrame avec les statistiques demandées pour chaque combinaison unique de col1 et les valeurs col2.

Conclusion

Pandas GroupBy est un outil puissant pour analyser les données en fonction de critères spécifiques. En utilisant les méthodes et agrégations appropriées, vous pouvez obtenir efficacement des statistiques par groupe pour obtenir des informations et mieux comprendre vos données.

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