У меня есть объект dataframe в следующем формате:
_id botId id sessionId timestamp intentStatus
0 5ba2a04 tony 9336 asdg23eas 1537385724842 NotHandled
1 5babb04 tony 0434 bbdg23eas 1537385722365 Handled
2 6ba2a04 tony 7336 bbdg23eas 1537385932445 NotHandled
3 7babb04 tony 0454 asdg23eas 1537385038234 Handled
Я хочу сгруппировать указанный выше кадр данных по sessionId, а затем найти разницу во времени последней отметки времени каждого элемента и отметки времени первого элемента.До сих пор я был в состоянии сделать это много:
groupBySession = df.groupby('sessionId')
for name, group in groupBySession:
group = group.reset_index(drop=True)
Проблема с вышеупомянутым подходом состоит в том, что я не могу зацикливаться в отдельных созданных группах, потому что индекс не сбрасывается.Из приведенного выше кода я получаю группы в следующем формате:
Первая группа
_id botId id sessionId timestamp intentStatus
0 5ba2a04 tony 9336 asdg23eas 1537385724842 NotHandled
1 7babb04 tony 0454 asdg23eas 1537385724842 NotHandled
Вторая группа
_id botId id sessionId timestamp intentStatus
0 5babb04 tony 0434 bbdg23eas 1537385722365 Handled
1 6ba2a04 tony 7336 bbdg23eas 1537385932445 NotHandled
Если вы заметили, индекс заменяется и начинается с 0. Но, когда я пытаюсь напечатать первый элемент первого элемента второго элемента как
print(group[0])
, я получаю следующееошибка:
KeyError: 0
Есть ли что-то, что я делаю неправильно или отсутствует?И есть ли лучший подход для реализации этого?