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

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

Linda Hamilton
Libérer: 2024-11-22 22:35:20
original
226 Les gens l'ont consulté

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

Conversion d'une sortie Pandas GroupBy MultiIndex d'une série en DataFrame

Considérez le DataFrame suivant :

df1 = pd.DataFrame({'City': ['Seattle', 'Seattle', 'Portland', 'Seattle', 'Seattle', 'Portland'],
                    'Name': ['Alice', 'Bob', 'Mallory', 'Mallory', 'Bob', 'Mallory']})
Copier après la connexion

Après avoir effectué une opération de regroupement à l'aide de groupby( ), la sortie est un DataFrame d'index hiérarchique, comme indiqué ci-dessous :

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

print(g1)
                   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 récupérer la structure DataFrame souhaitée, il existe plusieurs approches.

Ajout d'un suffixe et réinitialisation de l'index

Cela implique l'ajout d'un suffixe à la colonne noms et réinitialisation de l'index hiérarchique :

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

print(
    pd.DataFrame({'City_Count': g1['City'],
                  'Name_Count': g1['Name']
                  })
)
          City_Count  Name_Count
Alice   Seattle      1           1
       Portland     2           2
Bob     Seattle      2           2
Mallory Portland     2           2
        Seattle      1           1
Copier après la connexion

Utilisation de size() Méthode

Une approche alternative consiste à utiliser la méthode size() pour compter les occurrences pour chaque groupe et réinitialiser l'index :

df1.groupby(['Name', 'City']).size().reset_index()

print(
    pd.DataFrame({'Name': g1.index.get_level_values(0),
                  'City': g1.index.get_level_values(1),
                  'Count': g1['City']
                  })
)
      Name      City  Count
0     Alice   Seattle      1
1       Bob   Seattle      2
2   Mallory  Portland      2
3   Mallory   Seattle      1
Copier après la connexion

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