Разница между датами в разных строках внутри одной группы

Всем привет!

Возникла задача, связанная с написанием скрипта, вызвавшая определенные затруднения. На скриншоте можете увидеть сессии пользователей по дням. Необходимо найти разницу между днями сессии для отдельного id и вывести ее в отдельное поле.

Заранее спасибо за помощь!

Пример выьорки

UP, если кто-то столкнется с подобным вопросом, решение:

df['sess_diff'] = df.groupby('id')['session'].apply(lambda x: x-x.shift()) 

Если также работаете с датами, не забудьте перед процедурой конвертнуть в timeseries, а после нее заменить NaT на 0:

df['session'] = pd.to_datetime(df['session'])



df['sess_diff_won'] = df['sess_diff'].fillna(pd.Timedelta(seconds=0))

Ответы (0 шт):