这是我第一次在这里提出问题,所以让我知道是否需要更多信息-
我目前有一个熊猫df
,该熊猫由三个列分组:
# Group by employee, end of work date and calendar date sum the quantity of the hours on each calendar date
empHoursSum = df.groupby(['Employee ID', 'Week Ending', 'Calendar Date'])['Quantity'].sum().to_frame('Quantity')
这给了我一个Employee ID
,其中包含Week Ending
(日历工作周结束的日期)和Calendar Date
的存储桶,其中包含与日期相关的总小时数。
我要查看的是Calendar Date
组中每个Week Ending
的运行计数。
例如,如果某人在一个工作周内工作了6天,则将有6行日期。我想看到一个列,第一个条目的编号为1,第二个条目的编号为2,依此类推。
答案 0 :(得分:1)
您可以按empHoursSum
的第0级和第1级(两个“最外面的”级)进行分组,使用.cumcount()
获取累积计数,然后将这些计数分配给新列,将1加到从1开始而不是从0开始计数:
empHoursSum['running_count'] = empHoursSum.groupby(level=[0, 1]).cumcount() + 1