创建函数以计算每个唯一ID在数据帧中的web会话数



我有一个按以下方式构建的数据帧:

下游<1><1><1>11
时间戳 参与者id上游
2020年1月1日 人员10
2020年1月1日 人员1
1.2.2020 人员1 1 0
1.2020 人员11
2020年1月1日 人员20
2020年1月1日
1.2.2020 人20

尝试:

df["session"] = df["upstream"].eq(1) & df["downstream"].eq(0)
df["session"] = df.groupby("participant id", as_index=False)["session"].cumsum()
print(df)

打印:

timestamp participant id  upstream  downstream  session
0  1.1.2020       person 1         1           0        1
1  1.1.2020       person 1         1           1        1
2  1.2.2020       person 1         1           0        2
3  1.2.2020       person 1         1           1        2
4  1.1.2020       person 2         1           0        1
5  1.1.2020       person 2         1           1        1
6  1.2.2020       person 2         1           0        2