我在 Pyspark 中有审计日志数据,我试图弄清楚在任何给定时间有多少人登录到系统。因此,例如我正在工作的数据框具有以下结构time src_comp auth_orient1 C1 LogOn2 C1 LogOn2 C1 LogOn3 C2 LogOn3 C1 LogOff4 C1 LogOn4 C2 LogOff5 C1 LogOn6 C2 LogOn6 C3 LogOff然后从我的代码中,我想创建另一个列来显示有多少人登录,如下所示。我也不希望登录列变成负数,所以如果有人退出我没有跟踪的系统,我不想减少列:预期输出:time src_comp LoggedOn1 C1 12 C1 23 C2 13 C1 13 C1 24 C2 05 C1 36 C2 16 C3 0我尝试了以下代码但出现错误。auth_dataset.groupby(auth_dataset.time,auth_dataset.src_comp).agg(F.when(auth_dataset.strt=='LogOn',number+=1).otherwise(number-=1))
添加回答
举报
0/150
提交
取消