Имеется DataFrame df:

Нужно подсчитать для каждой строки длину последующей серии однотипных событий, причем считать нужно для каждого phone_number отдельно (а-ля, PARTITION BY phone_number ORDER BY timestamp). Нужный результат указан красным на скрине.
Ума не приложу как это сделать...