У меня есть такой фрейм данных:
STOREID VARIANT_ARTICLE PO_DATE UNITSUM
0 st123 12345 20200427 9.0
1 st123 12345 20200428 3.0
2 st123 12345 20200429 13.0
3 st123 12345 20200430 7.0
4 st123 12345 20200501 16.0
5 st123 12345 20200502 3.0
6 st123 12345 20200503 5.0
7 st123 12345 20200504 10.0
8 st123 12345 20200505 3.0
9 st123 12345 20200506 7.0
10 st123 12345 20200507 29.0
11 st123 12345 20200508 4.0
12 st123 12345 20200509 9.0
13 st123 12345 20200510 8.0
14 st123 12345 20200511 5.0
15 st123 12345 20200513 8.0
16 st123 12345 20200514 2.0
17 st123 12345 20200515 2.0
18 st123 12345 20200516 2.0
Я хочу вычислить rolling
sum
и avg
столбца UNITSUM
. Уловка здесь в том, что мне нужно вычислить его за последние 4 дня (например), а не за предыдущие 4 записи, что по сути означает, что для строки 15th
в моем примере диапазон дат для агрегирования равен 20200510 - 20200513
. Поскольку нет записи для 20200512
, мы выполняем агрегирование по 3 доступным строкам и не включаем 20200509
в наши вычисления (как pandas
в функции прокрутки).
Есть ли способ добиться этого?
РЕДАКТИРОВАТЬ: я должен добиться этого, используя dask-dataframe
API.