Maison >développement back-end >Tutoriel Python >Comment regrouper DataFrame par deux colonnes, compter les occurrences et trouver le nombre maximum ?
Dans ce tutoriel, nous montrerons comment compter les occurrences de combinaisons de deux colonnes dans un Pandas DataFrame et identifier le nombre maximum pour chaque valeur unique dans l'une des colonnes groupées.
Considérez le Pandas DataFrame df suivant :
<code class="python">df = pd.DataFrame([ [1.1, 1.1, 1.1, 2.6, 2.5, 3.4,2.6,2.6,3.4,3.4,2.6,1.1,1.1,3.3], list('AAABBBBABCBDDD'), [1.1, 1.7, 2.5, 2.6, 3.3, 3.8,4.0,4.2,4.3,4.5,4.6,4.7,4.7,4.8], ['x/y/z','x/y','x/y/z/n','x/u','x','x/u/v','x/y/z','x','x/u/v/b','-','x/y','x/y/z','x','x/u/v/w'], ['1','3','3','2','4','2','5','3','6','3','5','1','1','1'] ]).T df.columns = ['col1','col2','col3','col4','col5']</code>
Pour obtenir le nombre de chaque combinaison unique de col5 et col2 dans df, nous pouvons utiliser la fonction groupby suivie de la méthode size :
<code class="python">df.groupby(['col5', 'col2']).size()</code>
Le résultat sera :
col5 col2 1 A 1 D 3 2 B 2 etc...
Pour déterminer le nombre maximum pour chaque valeur col2, nous pouvons utiliser la méthode size de la fonction groupby pour calculer la taille des groupes, puis utiliser le groupby au premier niveau pour trouver le maximum pour chaque valeur col2 unique :
<code class="python">df.groupby(['col5', 'col2']).size().groupby(level=1).max()</code>
Cela produira le résultat :
col2 A 3 B 2 C 1 D 3 dtype: int64
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!