Если хотите разделить sum
с count
, это определение mean
, поэтому используйте:
out1 = df.groupby(['cust_Id', 'category', 'product'], as_index=False)['purchased'].mean()
out1 = (df.assign(zero = df['purchased'].eq(1))
.groupby(['cust_Id', 'category', 'product'], as_index=False)['purchased'].mean())
Если хотите подсчитать 0
значения:
out0 = (df.assign(zero = df['purchased'].eq(0))
.groupby(['cust_Id', 'category', 'product'], as_index=False)['purchased'].mean())