【发布时间】:2022-01-07 19:52:21
【问题描述】:
我正在尝试创建一个新列来计算每个项目 ID 的完成百分比。我目前正在计算项目周数(按项目 ID 分组),但我想计算完成百分比,意思是(当前 [项目周数] 基于 ReportDate 除以 [项目周数] 总数)。
这是我如何计算当前项目周数的代码:
df['Project Week Num'] = df.groupby(['Project ID'])["ReportDate"].transform(lambda x: list(map(lambda y: dict(map(reversed, dict(enumerate(x.unique())).items()))[y]+1,x)))
对于截图中的例子,这个项目总共有 106 个报告,所以当
项目周数 = 1,[项目完成百分比] = 0.94%
项目周数 = 2,[项目完成百分比] = 1.88%
等
【问题讨论】:
标签: python pandas lambda aggregate-functions np