Comment regrouper DataFrame par deux colonnes, compter les occurrences et trouver le nombre maximum ?

DDD
Libérer: 2024-10-23 12:10:02
original
536 Les gens l'ont consulté

How to Groupby DataFrame by Two Columns, Count Occurrences, and Find Maximum Count?

Grouper DataFrame par deux colonnes et récupérer les décomptes

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.

Énoncé du problème

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>
Copier après la connexion

Compter les occurrences

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>
Copier après la connexion

Le résultat sera :

col5  col2
1     A       1
      D       3
2     B       2
etc...
Copier après la connexion

Trouver le nombre maximum pour chaque valeur col2

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>
Copier après la connexion

Cela produira le résultat :

col2
A       3
B       2
C       1
D       3
dtype: int64
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!