Heim > Backend-Entwicklung > Python-Tutorial > Wie konvertiere ich eine Pandas GroupBy MultiIndex-Serie in einen DataFrame?

Wie konvertiere ich eine Pandas GroupBy MultiIndex-Serie in einen DataFrame?

Mary-Kate Olsen
Freigeben: 2024-12-09 06:23:05
Original
486 Leute haben es durchsucht

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

Konvertieren der Pandas GroupBy Multiindex-Ausgabe von Serien in DataFrame

Wenn ein DataFrame mithilfe von GroupBy nach mehreren Spalten gruppiert wird, ist das Ergebnis häufig eine MultiIndex-Serie. In bestimmten Szenarien benötigen Sie die Daten jedoch möglicherweise in einem DataFrame-Format zurück. In diesem Artikel wird gezeigt, wie eine MultiIndex Series-Ausgabe von GroupBy zurück in einen DataFrame konvertiert wird.

Betrachten Sie den folgenden Beispiel-DataFrame:

     City     Name
0   Seattle    Alice
1   Seattle      Bob
2  Portland  Mallory
3   Seattle  Mallory
4   Seattle      Bob
5  Portland  Mallory
Nach dem Login kopieren

Durch die Verwendung von GroupBy mit mehreren Spalten können wir die Vorkommen zählen:

g1 = df1.groupby(["Name", "City"]).count()
Nach dem Login kopieren

Die Ausgabe von g1 ist jedoch ein MultiIndex Serie:

                  City  Name
Name    City
Alice   Seattle      1     1
Bob     Seattle      2     2
Mallory Portland     2     2
        Seattle      1     1
Nach dem Login kopieren

Um dies wieder in einen DataFrame umzuwandeln, können Sie zwei Ansätze nutzen:

Methode 1: Suffix hinzufügen und Index zurücksetzen

Fügen Sie den Spaltennamen ein Suffix hinzu und setzen Sie den Index zurück:

g1.add_suffix('_Count').reset_index()
Nach dem Login kopieren

Dadurch wird ein DataFrame mit erstellt drei Spalten: Name, Stadt und zwei zusätzliche Spalten mit dem Suffix _Count zur Angabe der Anzahl.

Methode 2: Verwendung des DataFrame-Konstruktors

Alternativ können Sie den DataFrame verwenden Konstruktor mit der .size()-Methode, um die Vorkommen zu zählen und den Index zurückzusetzen:

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

This Der Ansatz erstellt einen DataFrame mit zwei Spalten: Name, Stadt und einer zusätzlichen Spaltenanzahl, die die Anzahl darstellt.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine Pandas GroupBy MultiIndex-Serie in einen 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