Привет, я наткнулся на проблему с пандами данных.
У меня есть этот фрейм данных.
user event diff days
1001 request 45
1001 approve 43
1002 request 44
1002 approve 43
1002 request 42
1003 approve 41
1003 request 40
1003 approve 39
1003 request 38
Я хотел бы создать новый столбец Флаг на основе этого правила: мы определяем Проблему как не выполняющую другой запрос в течение 45 дней после последнего запроса для каждого пользователя.
Вывод должен выглядеть следующим образом.
user event diff Days flag
1001 request 45 Problem
1001 approve 43 Problem
1002 request 44 NoProblem
1002 approve 43 NoProblem
1002 request 42 NoProblem
1003 approve 41 NoProblem
1003 request 40 NoProblem
1003 approve 39 NoProblem
1003 request 38 NoProblem
Я не могу найти решение, используя np.where или np.select . Любые виды решений приветствуются.
Если вы хотите поэкспериментировать с этим, вы можете использовать это для воспроизведения моего вышеупомянутого кадра данных.
df = pd.DataFrame(data={'user': [1001, 1001, 1002, 1002, 1002, 1003, 1003, 1003, 1003],
'event': ['request', 'approve', 'request', 'approve', 'request', 'approve', 'request', 'approve', 'request'],
'Diff Days': [45, 43, 44, 43, 42, 41, 40, 39, 38]})
N.B. Мне нужно помечать как проблему только те случаи, когда мы не делаем еще один запрос в течение 45 дней после последнего запроса (дни в столбцах) для каждого пользователя и события (я имею в виду только запрос). Остальные поля из события не играют роли.