You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中GroupBy分组后去除指定列小数并取整的方法

解决方法:去除数值列的小数并四舍五入取整

当然有办法实现!你可以通过round()函数先对数值进行四舍五入,再用astype(int)将其转换为整数类型,这样就能彻底去掉小数部分,同时保证数值是四舍五入后的结果。

完整代码示例

# 原有的分组聚合逻辑
tranSummary = data[data['upload_date'] == Date].groupby(['tran_type'], as_index=False).agg({"Gross Loan Amount": "sum"})
tranSummary['Pct'] = (tranSummary['Gross Loan Amount'] / sum(tranSummary['Gross Loan Amount'])) * 100

# 处理Gross Loan Amount列:四舍五入到整数后转为int类型
tranSummary['Gross Loan Amount'] = tranSummary['Gross Loan Amount'].round(0).astype(int)
# 处理Pct列:同样四舍五入取整
tranSummary['Pct'] = tranSummary['Pct'].round(0).astype(int)

关键说明

  • round(0):将数值四舍五入到小数点后0位(即整数位)
  • astype(int):把浮点数类型转换为整数类型,这样输出时就不会显示.0这类小数部分

如果你想在计算Pct的时候直接完成处理,也可以合并成一行:

tranSummary['Pct'] = ((tranSummary['Gross Loan Amount'] / sum(tranSummary['Gross Loan Amount'])) * 100).round(0).astype(int)

处理后的输出会变成这样:

tran_type  Gross Loan Amount  Pct
0        BB         26047120000   20
1       RRP        103800300000   80

内容的提问来源于stack exchange,提问作者SBad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:33:45