У меня есть df:
df = pd.DataFrame({'type':['a', 'a', 'b', 'b'],
'id':[1134, 5321, 2444, 2444],
'amt':[45, 55, 13, 14]})
Я пытаюсь получить количество, сумму и среднее значение, а также уникальные идентификаторы столбца amt.
df.groupby('type')['amt'].agg(['count', 'sum', np.mean])
count sum mean
type
a 2 100 50.0
b 2 27 13.5
Теперь я пытаюсь получить разные идентификаторы для каждой группы. если я добавлю id
к столбцам, чтобы вытащить, что приводит к
id amt
count sum mean count sum mean
type
a 2 6455 3227.5 2 100 50.0
b 2 4888 2444.0 2 27 13.5
Что я не хочу. Я хочу первую таблицу, но с другим счетом другой столбец . Я пробовал ниже тоже безрезультатно.
df.groupby('type')['amt'].agg(['count', 'sum', np.mean, lambda x: len(np.unique(x['id']))])
ожидаемый результат:
count sum mean unique_id
type
a 2 100 50.0 2
b 2 27 13.5 1