У меня есть датафрейм, который выглядит примерно так:
empl_ID day_1 day_2 day_3 day_4 day_5 day_6 day_7 day_8 day_9 day_10
1 1 1 1 1 1 1 0 1 1 1
2 0 0 1 1 1 1 1 1 1 0
3 0 1 0 0 1 1 1 1 1 1
4 1 0 1 0 1 1 1 0 1 0
5 1 0 0 1 1 1 1 1 1 1
6 0 0 0 0 1 1 1 1 1 1
Как мы видим, у нас 6 сотрудников, а индекс 1 указывает на их присутствие в этот день. Я хочу написать код, используя Python, чтобы я мог отслеживать 2 непрерывных отсутствия, т. Е. Шаблон 0, 0 для дня i, дня i + 1 в течение 6 дней, начиная с того момента, когда человек начинает свою работу.
Например, сотрудник 1 начинает свою работу со столбца day_1, который является его первым появлением 1. Итак, со столбцов day_1 до day_6, если мы не наблюдаем непрерывный 0, 0, запись должна быть помечена как ' 0' . То же самое относится к сотруднику 2 (столбцы: день_3 - день_8), сотруднику 4 (столбцы: день_1 - день_6) и сотруднику 6 (столбцы: день_5 - день_10), и они будут помечены как «0».
Однако для сотрудника 3 (столбцы: от дня_2 до дня_7), сотрудника 6 (столбцы: от дня_5 до дня_10) они содержат шаблон 0, 0 сразу после их первого присутствия 1 в течение соответствующего периода времени и, таким образом, будут помечены как ' 1 '.
Было бы очень полезно, если бы кто-то помог мне сформулировать код для достижения вышеуказанной цели. Заранее спасибо!
Результат должен выглядеть примерно так:
empl_ID day_1 day_2 day_3 day_4 day_5 day_6 day_7 day_8 day_9 day_10 label
1 1 1 1 1 1 1 0 1 1 1 0
2 0 0 1 1 1 1 1 1 1 0 0
3 0 1 0 0 1 1 1 1 1 1 1
4 1 0 1 0 1 1 1 0 1 0 0
5 1 0 0 1 1 1 1 1 1 1 1
6 0 0 0 0 1 1 1 1 1 1 0