Maison >développement back-end >Tutoriel Python >Comment Pandas GroupBy peut-il être utilisé pour calculer des statistiques par groupe en Python ?
Lorsque vous travaillez avec des données, il est souvent souhaitable d'analyser et de comparer les statistiques de différents groupes. Pandas, une importante bibliothèque Python pour la manipulation de données, offre la fonctionnalité GroupBy pour effectuer ces opérations sans effort.
Le moyen le plus simple d'obtenir le nombre de lignes pour chaque groupe consiste à utiliser Méthode .size(). Cette méthode renvoie une série contenant des décomptes par groupe :
df.groupby(['col1','col2']).size()
Pour récupérer les décomptes au format tabulaire (c'est-à-dire sous forme de DataFrame avec une colonne "counts") :
df.groupby(['col1', 'col2']).size().reset_index(name='counts')
Pour calculer plusieurs statistiques, utilisez la méthode .agg() avec un dictionnaire. Les clés spécifient les colonnes à calculer, tandis que les valeurs sont des listes des agrégations souhaitées (par exemple, « moyenne », « médiane » et « nombre ») :
df.groupby(['col1', 'col2']).agg({ 'col3': ['mean', 'count'], 'col4': ['median', 'min', 'count'] })
Pour plus de contrôle sur la sortie, des agrégations individuelles peuvent être jointes :
counts = df.groupby(['col1', 'col2']).size().to_frame(name='counts') counts.join(gb.agg({'col3': 'mean'}).rename(columns={'col3': 'col3_mean'})) \ .join(gb.agg({'col4': 'median'}).rename(columns={'col4': 'col4_median'})) \ .join(gb.agg({'col4': 'min'}).rename(columns={'col4': 'col4_min'})) \ .reset_index()
Cela produit un résultat plus structuré DataFrame avec des étiquettes de colonnes non imbriquées.
Dans l'exemple fourni, les valeurs nulles peuvent entraîner des écarts dans le nombre de lignes utilisées pour différents calculs. Cela souligne l'importance de prendre en compte les valeurs nulles lors de l'interprétation des statistiques par groupe.
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!