So fügen Sie eine Spalte zu einem gruppierten Datenrahmen in Pandas hinzu
Bei der Datenanalyse ist es oft notwendig, Daten zu gruppieren und Berechnungen durchzuführen jede Gruppe. Pandas bietet hierfür mit seiner Groupby-Funktion eine praktische Möglichkeit. Eine häufige Aufgabe besteht darin, die Werte einer Spalte innerhalb jeder Gruppe zu zählen und dem Datenrahmen eine Spalte hinzuzufügen, die diese Zählungen enthält.
Betrachten Sie den Datenrahmen df:
df = pd.DataFrame({'c':[1,1,1,2,2,2,2],'type':['m','n','o','m','m','n','n']})
Um die Werte des Typs für jedes c zu zählen, können wir die Funktion value_counts für den gruppierten Datenrahmen verwenden:
g = df.groupby('c')['type'].value_counts().reset_index(name='t')
Dadurch wird ein neuer Datenrahmen g mit den Gruppenanzahlen erstellt. Um g eine Spalte mit der Größe jeder Gruppe hinzuzufügen, können wir die Transformationsfunktion verwenden:
g['size'] = df.groupby('c')['type'].transform('size')
transform wendet eine Funktion auf jede Gruppe im ursprünglichen Datenrahmen an und gibt eine Serie zurück, deren Index am ursprünglichen Datenrahmen ausgerichtet ist. In diesem Fall verwenden wir die Größenfunktion, um die Anzahl der Elemente in jeder Gruppe zu zählen und sie der neuen Spaltengröße zuzuweisen. Der resultierende Datenrahmen g sieht nun wie folgt aus:
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
Dies zeigt eine einfache Möglichkeit, eine neue Spalte zu einem gruppierten Datenrahmen hinzuzufügen, basierend auf den Ergebnissen einer Groupby-Aggregation.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3