Я работал, пытаясь получить первую неделю подряд недель для определенного идентификатора в кадре данных, как это:
week id
1 1
2 1
3 1
6 1
7 1
8 1
3 2
4 2
Таким образом, для идентификатора 1 три недели подряд (1-3), затем снова три недели подряд (6-8), а для идентификатора 2 - 2 (3-4). Итак, мой желаемый результат будет:
week id first_week
1 1 1
2 1 1
3 1 1
6 1 6
7 1 6
8 1 6
3 2 3
4 2 3
Мне удалось посчитать количество последовательных недель с помощью:
df.groupby(['id',df['week'].diff(-1).ne(-1).shift().bfill().cumsum()]).transform('count')
Но я не могу найти первую неделю (я хочу создать новый идентификатор, который добавляет, на какой неделе начинается серия последовательных недель)