У меня есть ситуация, когда я создаю сводную таблицу в PANDAS, где имеет смысл вычислять поля отдельно и просто использовать .pivot_table () для шага сводки.Однако я сталкиваюсь с некоторыми трудностями, пытаясь вычислить знаменатель для моих процентов.По сути, из-за формата данных мне кажется, что мне нужно сделать что-то вроде «groupby transform unique sum» во второй строке ниже (вот где я застрял):
df['numerator'] = df.groupby(['category1','category2'])['customer_id'].transform('nunique')
df['denominator'] = df.groupby(['category2'])['numerator'].nunique().transform('sum')
df['percentage'] = (df['numerator'] / df['denominator'])
df_pivot = df.pivot_table(index='category1',
columns=['category2'],
values=['numerator','percentage']) \
swaplevel(0,1,axis=1)
df_pivot.loc['total', :] = df_pivot.sum().values
Мои извинения за невозможностьпредоставить любые фиктивные данные, но я был бы признателен за любые советы, если, я надеюсь, предоставил достаточно деталей, чтобы рассуждать о.