1 (permalink)
Группировка и агрегация по списку полей
12.04.2021, 10:41. Просмотров 177. Ответов 0
Метки Укажите метки (Редактировать метки, Все метки)
Добрый день!
Имеется набор данных c двумя категориями показателей:
name | показатель 1.1 | показатель 1.2 | показатель 1.3 | показатель 2.1 | показатель 2.2 | показатель 2.3|


Требуется сгруппировать данные по одному из полей и получить сумму по категориям показателей с агрегацией по сумме.
Т.е должно получиться вот так
name | сумма показатель1 | Сумма показатель 2 |
Вася |
Саша |

Я формирую поля в списки (в реальности показателей внутри каждой категории более 10 шт)


 lst_pok1=[' показатель 1.1', ' показатель 1.2', ' показатель 1.3']
lst_pok2=[' показатель 2.1', ' показатель 2.2', ' показатель 2.3']
затем делаю так:


 df_res=df_pok.groupby(['name']) [lst_pok1].agg(['sum'])
df_res=df_res[lst_pok1].sum(axis='columns')


С одним списков все ОК, но как добавить в выражение следующий список полей?
Пробую через словарь


 df_res=df_pok.groupby(['name]).agg({' lst_pok1':'sum'})
df_res=df_res[lst_pok1].sum(axis='columns')


Выдает ошибку, даже с одним списком.
Возможно все это бред, но я только взялся за pandа, не судите строго…