Maison >développement back-end >Tutoriel Python >Comment convertir une série Pandas GroupBy MultiIndex en DataFrame ?

Comment convertir une série Pandas GroupBy MultiIndex en DataFrame ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-09 06:23:05489parcourir

How to Convert a Pandas GroupBy MultiIndex Series to a DataFrame?

Conversion de la sortie multiindex Pandas GroupBy d'une série en DataFrame

Lors du regroupement d'un DataFrame par plusieurs colonnes à l'aide de GroupBy, le résultat est souvent une série MultiIndex. Cependant, dans certains scénarios, vous pouvez avoir besoin de récupérer les données au format DataFrame. Cet article montre comment reconvertir une sortie MultiIndex Series de GroupBy en DataFrame.

Considérez l'exemple de DataFrame suivant :

     City     Name
0   Seattle    Alice
1   Seattle      Bob
2  Portland  Mallory
3   Seattle  Mallory
4   Seattle      Bob
5  Portland  Mallory

En utilisant GroupBy avec plusieurs colonnes, nous pouvons compter les occurrences :

g1 = df1.groupby(["Name", "City"]).count()

Cependant, la sortie de g1 est un MultiIndex Série :

                  City  Name
Name    City
Alice   Seattle      1     1
Bob     Seattle      2     2
Mallory Portland     2     2
        Seattle      1     1

Pour reconvertir cela en DataFrame, vous pouvez tirer parti de deux approches :

Méthode 1 : ajout d'un suffixe et réinitialisation de l'index

Ajoutez un suffixe aux noms de colonnes et réinitialisez l'index :

g1.add_suffix('_Count').reset_index()

Cela créera un DataFrame avec trois colonnes : Nom, Ville et deux colonnes supplémentaires suffixées par _Count pour indiquer les décomptes.

Méthode 2 : Utilisation du constructeur DataFrame

Vous pouvez également utiliser le DataFrame constructeur avec la méthode .size() pour compter les occurrences et réinitialiser l'index :

DataFrame({'count' : df1.groupby( [ "Name", "City"] ).size()}).reset_index()

Ceci Cette approche créera un DataFrame avec deux colonnes : Nom, Ville et un nombre de colonnes supplémentaire représentant les décomptes.

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