Как сгруппировать по переменной в панд

#python #pandas #dataframe #group-by #pandas-groupby

Вопрос:

Я пытаюсь сгруппировать по переменной в панд, но, похоже, это не работает. Переменная представляет собой просто список из нескольких заголовков столбцов, и гораздо проще каждый раз записывать переменную для целей анализа, чем перечислять столбцы для каждой группы отдельно.

Пытаюсь повернуть это:

 df_grouped = (df.groupby(['Column1','Column2','Column3','Column4'])
        [compvars].sum()).reset_index()
 

В это:

 groupbyvars=['Column1','Column2','Column3','Column4']

df_grouped = (df.groupby([groupbyvars])
        [compvars].sum()).reset_index()
 

Комментарии:

1. Вы перечисляете свой список дважды. df.groupby([groupbyvars]) заменить просто df.groupby(groupbyvars)

2. Если проблема все еще сохраняется, пожалуйста, приведите воспроизводимый пример.

Ответ №1:

Как groupbyvars уже есть list , мы можем заменить :

 df_grouped = (df.groupby([groupbyvars])
        [compvars].sum()).reset_index()
 

Автор: :

 df_grouped = (df.groupby(groupbyvars)
        [compvars].sum()).reset_index()