it-swarm.com.de

pandas gruppieren, ohne nach Spalte in Index gruppiert

Das Standardverhalten von Pandas Groupby besteht darin, die Gruppe nach Spalten in Index umzuwandeln und sie aus der Spaltenliste des Datenrahmens zu entfernen. Angenommen, ich habe einen Datenrahmen mit diesen Spalten 

col1|col2|col3|col4

wenn ich eine Gruppe wende, sage ich mit den Spalten col2 und col3 auf diese Weise

df.groupby(['col2','col3']).sum()

Der Datenrahmen df enthält nicht mehr den ['col2','col3'] in der Spaltenliste. Sie werden automatisch in die Indizes des resultierenden Datenrahmens umgewandelt. 

Meine Frage ist, wie kann ich in einer Spalte gruppenweise arbeiten und diese Spalte trotzdem im Datenrahmen beibehalten? 

31
MedAli
df.groupby(['col2','col3'], as_index=False).sum()
49
user2034412

Ein anderer Weg, dies zu tun, wäre:

df.groupby(['col2', 'col3']).sum().reset_index()
3

Nicht sicher, aber ich denke, die richtige Antwort wäre

df.groupby(['col2','col3']).sum()
df = df.reset_index()

Zumindest ist es das, was ich ständig mache, um Datenrahmen mit Multi-Index zu vermeiden.

0
set92