pandas groupby sans transformer groupé par colonne en index

le comportement par défaut de pandas groupby est de transformer le groupe par colonnes en index et de les supprimer de la liste des colonnes de la dataframe. Par exemple, disons que j'ai une base de données avec ces colonnes

col1|col2|col3|col4

si je demande un groupby dire avec des 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 indices de la dataframe.

Ma question est comment puis-je effectuer groupby sur une colonne et pourtant garder cette colonne dans le dataframe?

21
demandé sur martineau 2015-08-17 23:46:15

2 réponses

df.groupby(['col2','col3'], as_index=False).sum()
35
répondu user2034412 2015-08-17 20:50:13

une Autre façon de faire serait:

df.groupby(['col2', 'col3']).sum().reset_index()
0
répondu Boudewijn Aasman 2018-08-31 13:59:52