Pandas -基于另一个列标签计算列的成功率



我有一个数据帧df:

route   value
1     1       1
2     2       2
3     2       2
4     2       1
5     1       2

列值给出成功(2)或失败(1),我想创建第三列,给出每条路由的成功率。

所需输出:

route   value   Rate
1     1       1      0.5
2     2       2      0.66
3     2       2      0.66
4     2       1      0.66
5     1       2      0.5

谢谢你的帮助

试试transformgroupby

df['Rate'] = df['value'].eq(2).groupby(df['route']).transform('mean')
df
Out[611]: 
route  value      Rate
1      1      1  0.500000
2      2      2  0.666667
3      2      2  0.666667
4      2      1  0.666667
5      1      2  0.500000

最新更新