Wie füge ich eine Spalte mithilfe der Pandas-Transformation in GroupBy DataFrames hinzu?

Mary-Kate Olsen
Freigeben: 2024-10-19 11:52:01
Original
954 Leute haben es durchsucht

How to Add a Column Using Pandas Transform in GroupBy DataFrames?

Spalte zum GroupBy-DataFrame mithilfe der Pandas-Transformation hinzufügen

Beim Arbeiten mit Groupby-Vorgängen in Pandas ist es oft nützlich, dem eine neue Spalte hinzuzufügen resultierender Datenrahmen. Eine Methode, dies zu erreichen, ist die Verwendung der Funktion .map(), wie im Beispiel gezeigt. Ein alternativer und einfacherer Ansatz besteht jedoch darin, die Funktion .transform() zu verwenden.

.transform() ermöglicht es uns, eine Funktion auf jede Gruppe im Datenrahmen anzuwenden und eine Serie mit den Ergebnissen zurückzugeben. Die zurückgegebene Serie verfügt über einen Index, der am ursprünglichen Datenrahmen ausgerichtet ist.

Zur Veranschaulichung beginnen wir mit dem bereitgestellten Datenrahmen:

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

Unser Ziel ist es, die Werte des Typs für jedes c zu zählen und fügen Sie eine Spalte mit der Größe c hinzu.

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

Dieser Code zählt die Werte für jede Gruppe und erstellt eine neue Spalte mit dem Namen t.

Um die Größenspalte mit .transform( hinzuzufügen ), können wir Folgendes tun:

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

.transform('size') wendet die Größenfunktion auf jede Gruppe an, die die Größe jeder Gruppe zurückgibt. Die resultierende Serie wird am Index des ursprünglichen Datenrahmens ausgerichtet, sodass wir sie als neue Spalte zu g hinzufügen können.

Die Ausgabe ist ein Datenrahmen mit einer zusätzlichen Spalte namens „size:“

   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

Die Verwendung von .transform() bietet eine präzisere und einfachere Möglichkeit, eine Spalte aus einer Groupby-Aggregation wieder zum ursprünglichen Datenrahmen hinzuzufügen.

Das obige ist der detaillierte Inhalt vonWie füge ich eine Spalte mithilfe der Pandas-Transformation in GroupBy DataFrames 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!