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

Linda Hamilton
Libérer: 2024-10-23 11:40:02
original
633 Les gens l'ont consulté

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

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

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

<code class="python">print(result)</code>
Copier après la connexion
Copier après la connexion

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

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

<code class="python">print(result)</code>
Copier après la connexion
Copier après la connexion

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!

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
Derniers articles par auteur
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!