对于数据集中的每一天,我想总结事件类型为 2 的每组连续行的持续时间列,以便我获得每天内每次步进回合的持续时间(稍后我将做一些分组对这些回合进行数学计算以获得平均回合持续时间等信息)。我很难弄清楚要在这里搜索什么,所以我感谢任何帮助!
我很难弄清楚要在这里搜索什么,所以我感谢任何帮助!显然,仅按事件类型分组是行不通的,因为我只需要在特定的不间断步进回合中进行分组。
m = df['Event Type'].eq(2)
out = (df[m]
.groupby(['ID', (~m).groupby(df['ID']).cumsum()],
as_index=False)
['Duration'].sum()
)
输出(使用替代输入):
ID Duration
0 1885 18.1
1 1885 6.0
使用的输入:
ID Date Event Type Duration
0 1885 2021-06-29 4.0 31208.5
1 1885 2021-07-07 2.0 1.1
2 1885 2021-07-07 2.0 3.2
3 1885 2021-07-07 2.0 3.5
4 1885 2021-07-07 2.0 4.3
5 1885 2021-07-07 2.0 3.7
6 1885 2021-07-07 2.0 1.2
7 1885 2021-07-07 2.0 1.1
8 1885 2021-07-07 1.0 1.0
9 1885 2021-07-07 2.0 3.7
10 1885 2021-07-07 2.0 1.2
11 1885 2021-07-07 2.0 1.1
12 1885 2021-07-07 1.0 1.0