"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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 ?

Publié le 2024-11-11
Parcourir:833

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 ».

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']

Comptage par groupes de lignes

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

result = df.groupby(['col5', 'col2']).size()

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

print(result)

Détermination du nombre le plus élevé

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

result = df.groupby(['col5', 'col2']).size().groupby(level=1).max()

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

print(result)

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 diverses manières.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729650500. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3