web-dev-qa-db-fra.com

pandas groupby sans transformer groupé par colonne en index

Le comportement par défaut de pandas groupby consiste à transformer le groupe par colonnes en index et à les supprimer de la liste des colonnes du cadre de données. Par exemple, disons que j'ai un dataFrame avec ces colonnes 

col1|col2|col3|col4

si j'applique un groupby dis avec les colonnes col2 et col3 de cette façon

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

Le dataframe df n'a plus le ['col2','col3'] dans la liste des colonnes. Ils sont automatiquement transformés en index de la trame de données résultante. 

Ma question est de savoir comment puis-je effectuer groupby sur une colonne tout en conservant cette colonne dans le cadre de données? 

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

Une autre façon de faire serait:

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

Pas sûr, mais je pense que la bonne réponse serait

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

Au moins, c’est ce que je fais tout le temps pour éviter les images avec multi-index.

0
set92