Pandas Group By и Sum Every N строк - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть данные временного ряда, и я хочу сгруппировать и вычислить сумму каждые 3 строки. Похоже, простая задача, но я не могу понять это. Буду признателен за вашу помощь.

Ниже приведены данные:

df = 
                      AE_NAME  ANSWERED_CALL
    DATE                                    
    2018-10-08  Alec Sochacki            4.0
    2018-10-09  Alec Sochacki            4.0
    2018-10-10  Alec Sochacki            7.0
    2018-10-11  Alec Sochacki            5.0
    2018-10-12  Alec Sochacki            3.0
    2018-10-15  Alec Sochacki            4.0
    2018-10-16  Alec Sochacki            3.0
    2018-10-17  Alec Sochacki            8.0
    2018-10-18  Alec Sochacki            5.0
    2018-10-19  Alec Sochacki            7.0

Столбец Date является столбцом индекса.

Я хочу, чтобы вывод был следующим:

                  AE_NAME  ANSWERED_CALL
DATE                                    
2018-10-08  Alec Sochacki            0 # It's ok to omit the first row
2018-10-10  Alec Sochacki            15
2018-10-15  Alec Sochacki            12
2018-10-18  Alec Sochacki            16
2018-10-19  Alec Sochacki            7 

Большое спасибо.

1 Ответ

0 голосов
/ 06 ноября 2018

Сначала возведите свой индекс в ряд. Затем используйте groupby + agg со словарем:

df = df.reset_index()

d = {'DATE': 'last', 'AE_NAME': 'last', 'ANSWERED_CALL': 'sum'}

res = df.groupby(df.index // 3).agg(d)

print(res)

        DATE       AE_NAME  ANSWERED_CALL
0 2018-10-10  AlecSochacki           15.0
1 2018-10-15  AlecSochacki           12.0
2 2018-10-18  AlecSochacki           16.0
3 2018-10-19  AlecSochacki            7.0

У вас есть неясная логика для первой строки, поэтому вам может потребоваться еще одна или две операции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...