Я работаю с набором данных, который выглядит, как показано ниже (значения изменились, и реальный намного больше)лямбда пользовательских агрегатная функция
fruit_type, temp, count
apple, 12, 4
apple, 14, 6
pear, 12, 6
pear, 16, 2
grape 12, 5
peach, 9, 33
peach 6, 3
Я пытаюсь использовать функцию NumPy AGG, чтобы найти процентов от общего количества отсчетов каждого из счетчиков для каждого темпа. Я также хотел бы, чтобы столбец представлял общее количество. Ниже приведен код, который я пытался.
data3 = data2.groupby('fruit_type')['count'].agg({
'prob' : lambda count: ((count)/count.sum()),
'total' : lambda count: count.size
})
Значения температуры являются дискретными. Я хотел бы, чтобы подсчет агрегировался по строке за строкой, где общая сумма сумм группируется по типу плодов. Пожалуйста, дайте мне знать, что не так с моим кодом.
Как я могу сделать это агрегирование больше скаляр? – user3609179
@ user3609179 Я добавил некоторый код, чтобы проиллюстрировать, как использовать 'transform'. Кроме того, есть ли какая-то особая причина, почему вы хотите 'size' в' 'total': lambda count: count.size' вместо '.sum()' –
Я хочу, чтобы суммарный итог был фруктовым. Это работает в текущем фрагменте, который вы опубликовали? – user3609179