Gok*_*mar 2 python dataframe python-3.x pandas
我有两列,例如agent_email 和workingcore。在努力核心中,Y 表示不满意,N 表示满意。
列如下所示:
agent_email effortscore.
ab 1
ab 0
xy 1
xy 0
Run Code Online (Sandbox Code Playgroud)
formula=(total 1's / total response)*100.
Run Code Online (Sandbox Code Playgroud)
我希望输出像
ab 50% csat
xy 100% csat
Run Code Online (Sandbox Code Playgroud)
我相信你需要聚集mean,它的工作,因为只有1和0值和号码1通过除以总的mean公式:
df = pd.DataFrame({'agent_email':['ab@gmail.com','ab@gmail.com','xy@gmail.com'],
'effortscore':[1,0,1]})
df1 = df.groupby('agent_email')['effortscore'].mean().mul(100).reset_index()
print (df1)
agent_email effortscore
0 ab@gmail.com 50.0
1 xy@gmail.com 100.0
Run Code Online (Sandbox Code Playgroud)
因为有问题的数据不同,需要通过eqfor==和 aggregate进行比较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
Run Code Online (Sandbox Code Playgroud)