Heim > Backend-Entwicklung > Python-Tutorial > Wie glätte ich einen Pandas GroupBy MultiIndex DataFrame?

Wie glätte ich einen Pandas GroupBy MultiIndex DataFrame?

Mary-Kate Olsen
Freigeben: 2024-12-02 00:01:09
Original
323 Leute haben es durchsucht

How to Flatten a Pandas GroupBy MultiIndex DataFrame?

Konvertieren einer Pandas GroupBy MultiIndex-Ausgabe zurück in einen DataFrame

Beim Durchführen einer Groupby-Operation für einen Pandas DataFrame mit mehreren Indexspalten wird das Ergebnis angezeigt Objekt ist ein DataFrame mit einem hierarchischen Index. Dies kann unpraktisch sein, wenn Sie auf die Daten als einzelne Zeilen zugreifen möchten.

Hier ist ein einfaches Beispiel:

df1 = pd.DataFrame({"City": ["Seattle", "Seattle", "Portland", "Seattle", "Seattle", "Portland"], "Name": ["Alice", "Bob", "Mallory", "Mallory", "Bob", "Mallory"]})

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

Die Ausgabe von g1 ist ein DataFrame mit einem hierarchischen Index:

                  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 mit einzelnen Zeilen umzuwandeln, können Sie entweder add_suffix und reset_index verwenden Methoden:

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

Dadurch wird den Indexspalten ein Suffix hinzugefügt und der Index zurückgesetzt, um einen flachen DataFrame zu erstellen:

      Name      City  City_Count  Name_Count
0    Alice   Seattle           1           1
1      Bob   Seattle           2           2
2  Mallory  Portland           2           2
3  Mallory   Seattle           1           1
Nach dem Login kopieren

Oder Sie können die Größenmethode und „reset_index“ verwenden Zählen Sie die Anzahl der Zeilen in jeder Gruppe und erstellen Sie einen neuen DataFrame:

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

Dadurch wird ein DataFrame mit einem einzelnen Index erstellt Spalte:

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

Welchen Ansatz Sie verwenden, hängt von Ihren spezifischen Bedürfnissen ab.

Das obige ist der detaillierte Inhalt vonWie glätte ich einen Pandas GroupBy MultiIndex 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