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

Python如何按userprofileid分组汇总totalhours与totalminutes数值

你写的代码会直接对整列赋值全表的总和,不管当前循环到哪个用户,所以所有行的统计结果都是全表总时长。要实现保留原有行、按用户分组求和的需求,直接用pandas的groupby搭配transform方法即可,transform会将分组聚合的结果回填到分组内的所有行,不会删除原有的记录。

正确实现代码:

# 按userprofileid分组求和并回填到原表每一行
clocking_left['user_minutes_total'] = clocking_left.groupby('userprofileid')['totalminutes'].transform('sum')
clocking_left['user_hours_total'] = clocking_left.groupby('userprofileid')['totalhours'].transform('sum')

运行后你提供的示例数据会得到如下结果:

userprofileidtotalhourstotalminutesuser_minutes_totaluser_hours_total
4537.042090015.0
1207.54504507.5
4538.048090015.0

完全符合你不删除重复用户记录、同时统计每个用户总时长的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:39:03