Maison  >  Article  >  développement back-end  >  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
Linda Hamiltonoriginal
2024-11-22 22:35:20133parcourir

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

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

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

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

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