Ответ 1
df.groupby(['col2','col3'], as_index=False).sum()
Поведение pandas groupby по умолчанию - это преобразовать группу по столбцам в индекс и удалить их из списка столбцов фрейма данных. Например, скажем, у меня есть dataFrame с этими столбцами
col1|col2|col3|col4
если я применил группу с столбцами col2
и col3
таким образом
df.groupby(['col2','col3']).sum()
В кадре данных df
больше нет ['col2','col3']
в списке столбцов. Они автоматически превращаются в индексы результирующего фрейма.
Мой вопрос заключается в том, как я могу выполнить groupby в столбце и все же сохранить этот столбец в dataframe?
df.groupby(['col2','col3'], as_index=False).sum()
Другой способ сделать это будет:
df.groupby(['col2', 'col3']).sum().reset_index()
Не уверен, но я думаю, что правильный ответ будет
df.groupby(['col2','col3']).sum()
df = df.reset_index()
По крайней мере, это то, что я делаю все время, чтобы избежать фреймов данных с мультииндексом.