Агрегировать строки на основе двух идентификаторов - PullRequest
0 голосов
/ 24 января 2019

У меня есть следующий набор данных

df = pd.DataFrame({'A' : ['E1', 'E1', 'E1', 'E2', 'E2'],
                   'B' : ['R1', 'R1', 'R2', 'R2', 'R2'],
                   'C' : [100, 100, 300, 250, 250]})

Теперь я хочу агрегировать строки, используя A и B в качестве общего идентификатора для наблюдения. Затем я хочу вычислить сумму и среднее значение C, подсчитать, сколько раз эта пара наблюдалась, и добавить эти значения во фрейм данных.

df = pd.DataFrame({'A' : ['E1', 'E1', 'E2'],
                   'B' : ['R1', 'R2', 'R2'],
                   'C_sum' : [200, 300, 500],
                   'C_avg' : [100, 300, 250],
                   'count' : [2, 1, 2]})

1 Ответ

0 голосов
/ 24 января 2019

Использование groupby с agg

df.groupby(['A','B']).C.agg(['sum','mean','count']).reset_index()
A  B   sum  mean  count                  
E1 R1  200   100      2
E2 R2  300   300      1
E2 R2  500   250      2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...