簡體   English   中英

Pandas 中兩個特定事件之間的累積計數

[英]Cumulative count between two specific events in Pandas

我想在 Pandas 中的“開始”事件之后計算每個用戶的所有步驟。

我的數據集:

ID 事件
1 開始
1 事件1
1 開始
1 事件1
1 事件2
1 開始
2 開始
2 事件1
2 開始

我想:

ID 事件 數數
1 開始 1
1 事件1 2
1 開始 1
1 事件1 2
1 事件2 3
1 開始 1
2 開始 1
2 事件1 2
2 開始 1

使用groupby + cumsum然后cumcount

df['Count'] = df.groupby(df['Event'].eq('Start').cumsum()).cumcount().add(1)

Output:

>>> df
   ID   Event  Count
0   1   Start      1
1   1  Event1      2
2   1   Start      1
3   1  Event1      2
4   1  Event2      3
5   1   Start      1
6   2   Start      1
7   2  Event1      2
8   2   Start      1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM