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

pandas数据框按分组日期排序聚合 计算项目完成百分比的实现方法

Pandas 项目完成百分比计算实现方案

核心实现代码

你已经完成了Project Week Num的计算,仅需追加以下代码即可得到完成百分比列:

# 计算每个Project ID对应的总周数
df['total_project_weeks'] = df.groupby('Project ID')['Project Week Num'].transform('max')
# 计算完成百分比,输出带百分号的字符串格式
df['% Project Completion'] = (df['Project Week Num'] / df['total_project_weeks'] * 100).round(2).astype(str) + '%'

如果你需要数值类型的百分比(用于后续计算),可以去掉末尾的格式转换:

# 数值类型百分比,取值范围0-100
df['% Project Completion'] = (df['Project Week Num'] / df['total_project_weeks'] * 100).round(2)

原有代码优化建议

你当前计算Project Week Num的嵌套lambda逻辑可读性较低,可以替换为rank方法实现同等效果,运行效率更高:

df['Project Week Num'] = df.groupby('Project ID')['ReportDate'].rank(method='dense').astype(int)

效果验证

以你提到的总周数为106的项目为例:

  • Project Week Num为1时:1/106*100≈0.94%
  • Project Week Num为2时:2/106*100≈1.88%
    和预期计算结果完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:06:04