У меня есть dataframe, который был отсортирован пользователем и времяGroupBy условной суммы смежных рядов панда
df = pd.DataFrame({'user' : ['A', 'A', 'A', 'B', 'B', 'B','B'],
'location' : ['house','house','gym','gym','shop','gym','gym'],
'duration':[10,5,5,4,10,4,6]})
duration location user
0 10 house A
1 5 house A
2 5 gym A
3 4 gym B
4 10 shop B
5 4 gym B
6 6 gym B
Я только хочу, чтобы сделать сумму(), когда «расположение» поля одинаковы по смежному строк для данного пользователя. Таким образом, это не просто df.groupby (['id', 'location']). Duration.sum(). Желаемый результат будет выглядеть следующим образом. Кроме того, порядок важен.
duration location user
15 house A
5 gym A
4 gym B
10 shop B
10 gym B
Спасибо!
Я предположил, что OP хочет смежных внутри группы? Непонятно – piRSquared
Вправо, только в пределах группы «пользователь». Я отредактирую свой вопрос, чтобы сделать его более ясным. Спасибо – user42361
Я поднял его, потому что '' 'тесты для смежности вне группировки. Это может быть неважно. Я пытаюсь думать о примере счетчика – piRSquared