【发布时间】:2018-11-09 17:27:25
【问题描述】:
我有一种情况,我在 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
对于无法提供任何虚拟数据,我深表歉意,但如果我希望提供足够的详细信息来推理,我将不胜感激。
【问题讨论】:
标签: python pandas numpy pandas-groupby