Maison >développement back-end >Tutoriel Python >Comment Pandas GroupBy peut-il calculer des statistiques et inclure le nombre de lignes pour l'analyse des données ?

Comment Pandas GroupBy peut-il calculer des statistiques et inclure le nombre de lignes pour l'analyse des données ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-03 00:54:39362parcourir

How Can Pandas GroupBy Calculate Statistics and Include Row Counts for Data Analysis?

Obtenir des statistiques pour chaque groupe à l'aide de Pandas GroupBy

Lors de l'analyse des données, il est souvent nécessaire de résumer les données et de calculer des statistiques pour des groupes d'observations . La fonction GroupBy de Pandas offre un moyen pratique de le faire.

Pour calculer les statistiques de groupe, utilisez simplement la méthode .groupby() sur le DataFrame et spécifiez les colonnes à regrouper. Ensuite, vous pouvez utiliser la méthode .agg() pour agréger les données au sein de chaque groupe.

Par exemple, le code suivant regroupe les données par colonnes « col1 » et « col2 » et calcule la moyenne :

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

Cela renverra un DataFrame avec les statistiques du groupe, similaire à :

      col3  col4  col5  col6
col1 col2              
A     B    -0.3725  -0.810   0.0325  0.5425
C     D    -0.4766  -0.110   1.3467 -0.6833
E     F     0.4550   0.475  -1.0650  0.0300
G     H     1.4800  -0.630   0.6500  0.1700

Including Row Comptes

L'ajout du nombre de lignes aux statistiques de groupe est simple. Vous pouvez utiliser la méthode .size() pour compter le nombre de lignes dans chaque groupe. Par exemple :

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

Cela renverra une série avec le nombre de lignes, que vous pourrez ensuite ajouter au DataFrame :

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

Incluant plusieurs statistiques

En plus de la moyenne, vous pouvez calculer d'autres statistiques telles que la médiane, le minimum et le maximum à l'aide de la méthode .agg(). Par exemple, le code suivant calcule la moyenne, la médiane et le minimum de la colonne « col4 » :

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

Cela renverra un DataFrame avec les statistiques du groupe, similaire à :

            col4                  
          mean median  min
col1 col2                   
A    B  -0.3725 -0.810  -1.32
C    D  -0.4766 -0.110  -1.65
E    F   0.4550  0.475  -0.47
G    H   1.4800 -0.630  -0.63

Considérations supplémentaires

  • Si vous souhaitez regrouper sur plusieurs colonnes, utilisez une liste dans le Méthode .groupby().
  • Les valeurs manquantes peuvent avoir un impact sur les calculs de groupe. Pandas exclura les valeurs manquantes lors des calculs comme la moyenne et la médiane.
  • Lorsque vous travaillez avec de grands ensembles de données, pensez à utiliser la méthode .agg() avec le paramètre chunksize pour améliorer les performances.

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