Используя Pandas groupby, у меня есть данные о том, сколько активности у определенных пользователей в среднем в каждый данный день недели. Сгруппированный пользователем и днем, я вычисляю max и mean для нескольких пользователей за последние 30 дней.Используя методы Pandas groupby, найдите наибольшие значения в каждой группе
Теперь я хочу найти для каждого пользователя, какой день недели соответствует их ежедневной максимальной активности, и какова средняя величина этой активности.
Каков метод в пандах для выполнения такой задачи?
Исходные данные выглядит примерно так:
userID countActivity weekday
0 3 25 5
1 3 58 6
2 3 778 0
3 3 78208 1
4 3 6672 2
Объект, который имеет эти группы создается из следующих функций:
aggregations = {
'countActivity': {
'maxDaily': 'max',
'meanDaily': 'mean'
}
}
dailyAggs = df.groupby(['userID','weekday']).agg(aggregations)
Объект GroupBy выглядит примерно так:
countActivity
maxDaily meanDaily
userID weekday
3 0 84066 18275.6
1 78208 20698.5
2 172579 64930.75
3 89535 25443
4 6152 2809
Pandas groupby способ filter
, как представляется, необходим здесь, но Я не понимаю, как действовать.
Можете ли вы предоставить воспроизводимый образец данных ввода данных и желаемый набор данных? – MaxU