Maison  >  Article  >  développement back-end  >  Comment effectuer des décomptes de valeurs et rechercher des décomptes maximaux pour plusieurs colonnes à l'aide de Pandas DataFrame GroupBy ?

Comment effectuer des décomptes de valeurs et rechercher des décomptes maximaux pour plusieurs colonnes à l'aide de Pandas DataFrame GroupBy ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-23 11:40:02633parcourir

How to Perform Value Counts and Find Maximum Counts for Multiple Columns Using Pandas DataFrame GroupBy?

Pandas DataFrame GroupBy plusieurs colonnes pour le nombre de valeurs

Dans la manipulation de DataFrame avec Pandas, le regroupement des données par plusieurs colonnes peut fournir des informations précieuses. Cet article montre comment compter les observations tout en regroupant par deux colonnes, ainsi que déterminer le nombre le plus élevé pour chaque regroupement.

Étant donné un DataFrame avec plusieurs colonnes, il est possible d'appliquer la fonction « groupby » pour regrouper les données. basé sur des colonnes spécifiques. Ici, nous avons un DataFrame nommé « df » avec cinq colonnes : « col1 », « col2 », « col3 », « col4 » et « col5 ».

<code class="python">import pandas as pd

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>

Comptage par ligne Groupes

Pour compter le nombre d'observations dans chaque groupe de lignes, utilisez la fonction 'groupby' sur les colonnes souhaitées puis appliquez la fonction 'size'.

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

Ceci produira un DataFrame avec les colonnes groupées comme index et la taille comme valeurs.

<code class="python">print(result)</code>

Détermination du nombre le plus élevé

Pour déterminer le nombre maximum pour chacun valeur 'col2', utilisez la fonction 'groupby' sur 'col2' puis appliquez la fonction 'max' sur les données groupées.

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

Cela produira une série avec le nombre maximum pour chaque 'col2' ' valeur.

<code class="python">print(result)</code>

En résumé, l'utilisation des fonctions « groupby » et « size » dans Pandas permet une analyse et une agrégation efficaces des données, permettant aux utilisateurs d'extraire des informations sur leurs données de différentes manières.

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