python - 为 % 创建 Groupby 总计行
问题描述
我有一个 DataFrame,我在其中根据 DataFrame 中的两列计算完整的百分比,按“NAME”分组。
我想添加一个总计列,但不知道从哪里开始。
数据框:
Name Attempts Completes
0 A 6 5
1 B 5 4
2 B 2 2
3 A 9 7
我用来计算百分比的代码:
df.groupby('Name')['Completes'].sum() / df.groupby('Name')['Attempts'].sum()
结果:
Name
A 0.800000
B 0.857143
dtype: float64
结果我追求:
Name
A 0.800000
B 0.857143
Grand Total 0.818181
dtype: float64
提前感谢您的任何建议。
解决方案
只需要重新分配它
s=df.groupby('Name')['Completes'].sum() / df.groupby('Name')['Attempts'].sum()
s.loc['Grand Total']=df['Completes'].sum()/df['Attempts'].sum()
s
Out[312]:
Name
A 0.800000
B 0.857143
Grand Total 0.818182
dtype: float64
推荐阅读
- mysql - 用于索引表的 OR 和 IN 运算符的替代方案
- php - 如何映射多维数组
- java - 通过单击 RecyclerView 和 SQLite 数据库中的图像来删除项目
- git - 使用 Codenvy 推送到 GitHub 时出现问题:“无法存储 ssh 密钥。无法获取私有 ssh 密钥。”
- objective-c - 使用共享 Web 凭据时禁用弹出窗口(直接工作)
- dax - DAX 表达式中的参考页面过滤器 - powerbi
- r - R:如果第三列具有相同的值,如何添加 2 个单独列的值
- r - 如果列中有“封闭”单元格,则将 tibble 单元格的值设置为 1
- python - 删除以另一列的大值为条件的值
- awk - 哪个ns2协议最实用