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