- Как только бонусный месяц определен, счетчик сбрасывается и начинает считать следующие 3 месяца подряд с 250 продажами.
- если продаж менее 250, счетчик сбрасывается.
Месяц
Продажи
Постоянство за 3 месяца
Месяц 1
250
Месяц 2
250
Месяц 3
250
1
Месяц 4
250
Месяц 5
250
Месяц 6
250
1
Месяц 7
0
Месяц 8
250
Месяц 9
250
Месяц 10
250
1
Месяц 11
250
Месяц 12
250
Месяц 13
0
Месяц 14
250
Месяц 15
250
Месяц 16
250
1
Я хочу заполнить столбец согласованности за 3 месяца
Пытался использовать количество накоплений с условиями, но это не сработало, и я нигде не смог найти такого примера. Я пытался использовать скользящее окно для идентификации каждой третьей последовательной записи с 250. Но тогда оно не сбрасывается после каждого набора из 3 последовательных 250.
Код: Выделить всё
df.groupby('id').apply(lambda x: x['gt_250'].rolling(min_periods=1, window=3).sum())
#-- grouped by id because this has to be computed for each salesperson_id
Месячные
продажи
Постоянство за 3 месяца
Месяц 1
250
Месяц 2
250
Месяц 3
250
3
Месяц 4
250
3
Месяц 5
250
3
Подробнее здесь: https://stackoverflow.com/questions/790 ... -condition
Мобильная версия