Как определить n-ю строку, удовлетворяющую условию ⇐ Python

Программы на Python
Anonymous
Как определить n-ю строку, удовлетворяющую условию

Сообщение Anonymous »

У меня есть фрейм данных с месяцами и продажами. Если кто-то совершает 250 продаж в течение 3 месяцев подряд, он получает бонус.
  • Как только бонусный месяц определен, счетчик сбрасывается и начинает отсчитывать следующие 3 месяца. последовательных месяцев с 250
  • если продаж меньше 250, счетчик сбрасывается


Месяц
продажи< /th>
Постоянство в течение 3 месяцев




Месяц 1
250



Месяц 2
250


Месяц 3
250
1


Месяц 4
250


< tr>
Месяц 5
250



Месяц 6
250
1


Месяц 7
0


8-й месяц
250



9-й месяц
250



Месяц 10
250
1
< /tr>

11-й месяц
250



Месяц 12
250



Месяц 13
0



14 месяц
250


15-й месяц
250



Месяц 16
250
1



Я хочу заполнить столбец согласованности за 3 месяца
Пытался использовать счетчик cum с условиями, но это не сработало, и я нигде не смог найти такого примера. Я пытался использовать скользящее окно для идентификации каждой третьей последовательной записи с 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
< td>250



Месяц 3
250
3


Месяц 4
250
3


Месяц 5
250
3




Подробнее здесь: https://stackoverflow.com/questions/790 ... -condition

Вернуться в «Python»