Wie füge ich nach Groupby-Vorgängen in Pandas eine Spalte zu einem gruppierten DataFrame hinzu?

DDD
Freigeben: 2024-10-19 12:02:30
Original
981 Leute haben es durchsucht

How to Add a Column to a Grouped DataFrame After Groupby Operations in Pandas?

Spalte zum gruppierten DataFrame in Pandas hinzufügen

Beim Arbeiten mit GroupBy-Vorgängen in Pandas kann es hilfreich sein, dem Ergebnis zusätzliche Informationen hinzuzufügen Datenrahmen. In diesem Artikel wird eine Frage untersucht, wie eine Spalte effizient zu einem gruppierten Datenrahmen hinzugefügt werden kann, nachdem Groupby-Aggregationen durchgeführt wurden.

Betrachten Sie den folgenden Datenrahmen:

df = pd.DataFrame({'c':[1,1,1,2,2,2,2],'type':['m','n','o','m','m','n','n']})
Nach dem Login kopieren

Das Ziel besteht darin, die Werte zu zählen Geben Sie für jeden Wert von „c“ eine „Typ“-Spalte ein und fügen Sie dem gruppierten Datenrahmen eine neue Spalte hinzu, die die „Größe“ jeder „c“-Gruppe darstellt. Nach der Durchführung der Groupby-Aggregation:

g = df.groupby('c')['type'].value_counts().reset_index(name='t')
Nach dem Login kopieren

Der Datenrahmen „g“ enthält nun die Anzahl von „type“ für jedes „c“:

   c type  t
0  1    m  1
1  1    n  1
2  1    o  1
3  2    m  2
4  2    n  2
Nach dem Login kopieren

Um die Spalte „size“ hinzuzufügen Eine Möglichkeit besteht darin, die Kartenfunktion zu verwenden:

a.index = a['c']
g['size'] = g['c'].map(a['size'])
Nach dem Login kopieren

Es gibt jedoch einen einfacheren Ansatz mit der Transformationsfunktion:

g['size'] = df.groupby('c')['type'].transform('size')
Nach dem Login kopieren

Mit der Transformation kann die Größenspalte hinzugefügt werden direkt zum „g“-Datenrahmen und richtet den Index am ursprünglichen Datenrahmen aus. Der resultierende Datenrahmen:

   c type  t  size
0  1    m  1     3
1  1    n  1     3
2  1    o  1     3
3  2    m  2     4
4  2    n  2     4
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie füge ich nach Groupby-Vorgängen in Pandas eine Spalte zu einem gruppierten DataFrame hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage