Как определить 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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