Maison > développement back-end > Tutoriel Python > Comment aplatir un DataFrame Pandas GroupBy MultiIndex ?

Comment aplatir un DataFrame Pandas GroupBy MultiIndex ?

Mary-Kate Olsen
Libérer: 2024-12-02 00:01:09
original
412 Les gens l'ont consulté

How to Flatten a Pandas GroupBy MultiIndex DataFrame?

Conversion d'une sortie Pandas GroupBy MultiIndex en un DataFrame

Lors de l'exécution d'une opération groupby sur un DataFrame pandas avec plusieurs colonnes d'index, le résultat L'objet est un DataFrame avec un index hiérarchique. Cela peut être gênant si vous souhaitez accéder aux données sous forme de lignes individuelles.

Voici un exemple simple :

df1 = pd.DataFrame({"City": ["Seattle", "Seattle", "Portland", "Seattle", "Seattle", "Portland"], "Name": ["Alice", "Bob", "Mallory", "Mallory", "Bob", "Mallory"]})

g1 = df1.groupby(["Name", "City"]).count()
Copier après la connexion

La sortie de g1 est un DataFrame avec un index hiérarchique :

                  City  Name
Name    City
Alice   Seattle      1     1
Bob     Seattle      2     2
Mallory Portland     2     2
        Seattle      1     1
Copier après la connexion

Pour reconvertir cela en DataFrame avec des lignes individuelles, vous pouvez utiliser soit add_suffix et reset_index méthodes :

g1.add_suffix("_Count").reset_index()
Copier après la connexion

Cela ajoutera un suffixe aux colonnes d'index et réinitialisera l'index pour créer un DataFrame plat :

      Name      City  City_Count  Name_Count
0    Alice   Seattle           1           1
1      Bob   Seattle           2           2
2  Mallory  Portland           2           2
3  Mallory   Seattle           1           1
Copier après la connexion

Ou, vous pouvez utiliser la méthode size et réinitialiser_index pour comptez le nombre de lignes dans chaque groupe et créez un nouveau DataFrame :

DataFrame({'count': df1.groupby(["Name", "City"]).size()}).reset_index()
Copier après la connexion

Cela créera un DataFrame avec un seul index colonne :

      Name      City  count
0    Alice   Seattle      1
1      Bob   Seattle      2
2  Mallory  Portland      2
3  Mallory   Seattle      1
Copier après la connexion

L'approche que vous utiliserez dépendra de vos besoins spécifiques.

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