Мне нужна продолжительность исследования между двумя датами, которые содержатся в строках).
Мой фрейм данных содержит:
- Идентификатор пользователя
- сессия
- деятельность
- время
И мне нужна длительность diffrenet активности за один раз.
Пример кадра данных:
user ID session activity time
1 134 write 2018-03-01 11:37:14.733793+00:00
1 134 video 2018-03-01 11:43:14.733793+00:00
1 136 video 2018-03-04 11:37:14.733793+00:00
3 356 write 2018-03-04 11:37:14.733793+00:00
Мне нужно это:
user ID session activity time Duration
1 134 write 2018-03-01 11:37:14.733793+00:00 00:00:06
1 134 video 2018-03-01 11:43:14.733793+00:00 no_matter
1 136 video 2018-03-04 11:37:14.733793+00:00 no_matter
3 356 write 2018-03-04 11:37:14.733793+00:00 no_matter
Мой код:
Part1 = d_sort_event_browser_short.user_id== d_sort_event_browser_short.user_id.shift(-1)
Part2 = d_sort_event_browser_short.session == d_sort_event_browser_short.session.shift(-1)
for row in d_sort_event_browser_short:
if (Part1 & Part2).any:
d_sort_event_browser_short['duration'] =d_sort_event_browser_short.time.shift(-1) - d_sort_event_browser_short.time
else:
d_sort_event_browser_short['duration'] = "no__matter"
Но это не работает, потому что показывает всю продолжительность.