Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich DataFrame-Zeilen mithilfe von Pandas Groupby in Listen gruppieren?

Wie kann ich DataFrame-Zeilen mithilfe von Pandas Groupby in Listen gruppieren?

Mary-Kate Olsen
Freigeben: 2024-12-17 09:38:24
Original
338 Leute haben es durchsucht

How Can I Group DataFrame Rows into Lists Using Pandas Groupby?

DataFrame-Zeilen in Listen in Pandas GroupBy gruppieren

Viele Datensätze enthalten redundante Informationen über Zeilen hinweg. Um aussagekräftige Erkenntnisse zu gewinnen, ist es oft notwendig, Zeilen basierend auf einem gemeinsamen Attribut zu gruppieren. Dies ermöglicht die Aggregation und Bearbeitung von Daten innerhalb jeder Gruppe. In diesem Artikel erfahren Sie, wie Sie Datenrahmenzeilen in Pandas Groupby in Listen gruppieren.

Gruppieren und Aggregieren

Stellen Sie sich einen Datenrahmen mit zwei Spalten vor, „a“ und „b“:

a b
A 1
A 2
B 5
B 5
B 4
C 6
Nach dem Login kopieren

Das Ziel besteht darin, die Zeilen nach der ersten Spalte ('a') zu gruppieren und eine Liste der Werte in der zweiten Spalte ('b') zu erstellen. für jede Gruppe. Die gewünschte Ausgabe ist:

A [1,2]
B [5,5,4]
C [6]
Nach dem Login kopieren

Um dies zu erreichen, können wir die Groupby- und Apply-Funktionen von Pandas verwenden. Die Groupby-Funktion gruppiert die Zeilen nach der angegebenen Spalte, während die Apply-Funktion es uns ermöglicht, eine Operation für jede Gruppe durchzuführen. In diesem Fall wenden wir die Listenfunktion an, um eine Werteliste für jede Gruppe zu erstellen.

df.groupby('a')['b'].apply(list)
Nach dem Login kopieren

Dieser Code gibt ein Series-Objekt zurück, das die Wertelisten für jede Gruppe enthält:

a
A       [1, 2]
B    [5, 5, 4]
C          [6]
Name: b, dtype: object
Nach dem Login kopieren

Erstellen eines neuen Datenrahmens

Um einen neuen Datenrahmen mit den gruppierten Listen zu erstellen, können wir die Funktion „reset_index“ verwenden, um das Serienobjekt in einen neuen Datenrahmen umzuwandeln Benennen Sie die Spalte mit den Listen um:

df1 = df.groupby('a')['b'].apply(list).reset_index(name='new')
Nach dem Login kopieren

Der resultierende Datenrahmen sieht folgendermaßen aus:

   a        new
0  A     [1, 2]
1  B  [5, 5, 4]
2  C        [6]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich DataFrame-Zeilen mithilfe von Pandas Groupby in Listen gruppieren?. 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