Maison  >  Article  >  développement back-end  >  Comment regrouper et compter les DataFrames Pandas par plusieurs colonnes et trouver le nombre maximum ?

Comment regrouper et compter les DataFrames Pandas par plusieurs colonnes et trouver le nombre maximum ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-23 12:13:02338parcourir

How to Group and Count Pandas DataFrames by Multiple Columns and Find Maximum Counts?

Regrouper les DataFrames Pandas par deux colonnes pour obtenir des décomptes

Considérez un DataFrame nommé df avec les colonnes col1, col2, col3, col4 et col5, comme indiqué dans le fichier fourni. extrait de code. Pour déterminer le nombre de lignes en fonction de valeurs spécifiques dans col5 et col2, suivez ces étapes :

Obtention du nombre de lignes par groupe :

Pour compter les occurrences dans chaque ligne en fonction de combinaisons uniques de valeurs col5 et col2, utilisez la méthode size() comme suit :

<code class="python">df.groupby(['col5', 'col2']).size()</code>

Cette opération regroupe le DataFrame à la fois par col5 et col2 et calcule le nombre de lignes dans chaque groupe. La sortie sera une série avec des paires d'index (col5, col2) et les décomptes correspondants.

Exemple :

L'extrait de code fourni démontre cette opération à l'aide du df DataFrame, produisant le résultat suivant :

col5  col2
1     A       1
      D       3
2     B       2
3     A       3
      C       1
4     B       1
5     B       2
6     B       1
dtype: int64

Dans cette sortie, chaque ligne représente une combinaison unique de col5 et col2, et le nombre correspondant indique combien de fois cette combinaison se produit dans le DataFrame.

Recherche du plus grand nombre pour chaque valeur col2 :

Pour déterminer le plus grand nombre pour chaque valeur unique de col2, effectuez les étapes suivantes :

  1. Regroupez le DataFrame par col2 uniquement, à l'exclusion de col5.
  2. Calculez le nombre de lignes pour chaque groupe col2 à l'aide de size().
  3. Obtenez le nombre maximum pour chaque groupe col2 en utilisant la méthode max() sur la série groupée.

Exemple :

<code class="python">df.groupby(['col2']).size().groupby(level=1).max()</code>

Cet extrait de code regroupe df par col2, calcule les nombres, puis trouve le nombre maximum pour chaque valeur col2, ce qui donne dans la sortie suivante :

col2
A       3
B       2
C       1
D       3
dtype: int64

Dans cette sortie, chaque valeur col2 est associée au nombre maximum de lignes qui partagent cette valeur dans col2.

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