Heim > Artikel > Backend-Entwicklung > Wie füge ich nach Groupby-Vorgängen in Pandas eine Spalte zu einem gruppierten DataFrame hinzu?
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']})
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')
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
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'])
Es gibt jedoch einen einfacheren Ansatz mit der Transformationsfunktion:
g['size'] = df.groupby('c')['type'].transform('size')
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
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!