Разница между датами в разных строках внутри одной группы
Всем привет!
Возникла задача, связанная с написанием скрипта, вызвавшая определенные затруднения. На скриншоте можете увидеть сессии пользователей по дням. Необходимо найти разницу между днями сессии для отдельного 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))
