#pandas #numpy #dataframe #automation #pandas-groupby
#pandas #numpy #фрейм данных #автоматизация #pandas-groupby
Вопрос:
я хочу получить количество экземпляров при использовании функции groupby вместе с параметром agg
Name Country X_Id Value
Rahul 1 2 100
Rahul 1 2 50
Matthew 2 3 100
Matthew 1 1 25
Name Country X_Id Value Instances
Rahul 1 2 50 2
Matthew 2 3 100 1
Matthew 1 1 25 1
Я использовал df.groupby(['SiteId', 'SubUnitId', 'CatId']).agg('mean').size()
, но это не сработало
Комментарии:
1. Корректны ли входные данные? Не заменяется
2
на3
?
Ответ №1:
Использовать GroupBy.agg
с именованной агрегацией:
df.groupby(['Name', 'Country', 'X_Id']).agg(Value = ('Value', 'mean'),
Instances = ('Value', 'size'))
Комментарии:
1. пока функция code работает нормально для одного столбца.. что, если мне придется применить функцию agg для двух столбцов @jezrael
2. @Harishreddy — затем добавьте новые значения, например
Instances = ('Value', 'size')
, означаетInstances
, что это новое имя столбца,Value
столбец обработки,size
функция агрегирования.3. Так что, если нужно
col3
col4
сsum
помощьюcol4 = ('col3','sum')