Heim > Backend-Entwicklung > Python-Tutorial > Wie konvertiere ich eine Pandas GroupBy MultiIndex-Ausgabe von Series in DataFrame?

Wie konvertiere ich eine Pandas GroupBy MultiIndex-Ausgabe von Series in DataFrame?

Linda Hamilton
Freigeben: 2024-11-22 22:35:20
Original
194 Leute haben es durchsucht

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

Konvertieren einer Pandas GroupBy MultiIndex-Ausgabe von Series in DataFrame

Betrachten Sie den folgenden DataFrame:

df1 = pd.DataFrame({'City': ['Seattle', 'Seattle', 'Portland', 'Seattle', 'Seattle', 'Portland'],
                    'Name': ['Alice', 'Bob', 'Mallory', 'Mallory', 'Bob', 'Mallory']})
Nach dem Login kopieren

Nachdem Sie eine Gruppierungsoperation mit groupby( ), ist die Ausgabe ein hierarchischer Index-DataFrame, wie unten gezeigt:

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
Nach dem Login kopieren

Zum Abrufen der Für die gewünschte DataFrame-Struktur gibt es mehrere Ansätze.

Hinzufügen eines Suffixes und Zurücksetzen des Index

Dazu gehört das Hinzufügen eines Suffixes zu den Spaltennamen und das Zurücksetzen des hierarchischen Index:

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
Nach dem Login kopieren

Verwendung der size()-Methode

Ein alternativer Ansatz besteht darin, die size()-Methode zu verwenden, um die Vorkommen für jede Gruppe zu zählen und zurückzusetzen der 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
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine Pandas GroupBy MultiIndex-Ausgabe von Series in DataFrame?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage