我有两个专栏,如代理电子邮件和轻松评分。在易得分中,Y表示不满意,N表示满意。
列如下所示:

agent_email effortscore.
ab           1
ab           0
xy           1
xy           0

formula=(total 1's / total response)*100.

我希望输出像
ab 50% csat
xy 100% csat

最佳答案

我认为您需要aggregatemean,它可以工作,因为只有10值和1的数量除以total是mean公式:

df = pd.DataFrame({'agent_email':['[email protected]','[email protected]','[email protected]'],
                   'effortscore':[1,0,1]})

df1 = df.groupby('agent_email')['effortscore'].mean().mul(100).reset_index()
print (df1)
    agent_email  effortscore
0  [email protected]         50.0
1  [email protected]        100.0

由于所讨论的数据不同,需要用eq比较==和聚合mean
print (df)
  agent_email effortscore
0          ab           Y
1          ab           N
2          xy           Y
3          xy           N

df1 = df['effortscore'].eq('Y').groupby(df['agent_email']).mean().mul(100).reset_index()
print (df1)
  agent_email  effortscore
0          ab         50.0
1          xy         50.0

关于python - 如何使用 Pandas 找到客户满意度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57937690/

10-12 17:23