【发布时间】:2023-01-10 15:02:18
【问题描述】:
我想对 .groupby 结果中的每个组应用一个函数。我原来的 df 看起来像这样:
Id Cust_type DPP
1 A Detractor
2 B Detractor
3 C Detractor
4 D Promoter
5 A Promoter
6 B Passive
7 B Detractor
8 C Detractor
9 D Detractor
10 D Promoter
11 A Promoter
12 A Passive
我想计算每个 Cust_types 的分数。完整 df 的分数是这样计算的:
((len(df[df['DPP']=='Promoters'])-len(df[df['DPP']=='Detractors']))/(len(df)))*100
所以我试图定义一个函数,然后将其应用于每个组,但下面的方法不起作用,因为我真的不知道该怎么做。
def score(x):
return ((len(x[x['DPP']=='Promoters'])-len(x[x['DPP']=='Detractors']))/(len(x)))*100
df.groupby('Cust_type').apply(score, x))
任何帮助表示赞赏。
【问题讨论】:
-
你能给我们你的预期输出吗?