我有一个panda Dataframe ,它有一个名为doc_ID
的id列和一个布尔列,如果某个值低于某个阈值,布尔列就会报告,如下所示:
df = pd.DataFrame({'doc_ID': [1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3],
'below_threshold': [False, False, False, False, True, False, False, True, False, False,
False, False, False, False, False, False, False, True, False, False]})
我尝试在每个doc_ID
中创建一个新的分组ID,它将从第一个False
值开始按顺序扩展,直到并包括第一个True
值。
doc_ID below_threshold new_group
0 1 False 1
1 1 False 1
2 1 False 1
3 1 False 1
4 1 True 1
5 1 False 2
6 2 False 3
7 2 True 3
8 2 False 4
9 2 False 4
10 2 False 4
11 2 False 4
12 3 False 5
13 3 False 5
14 3 False 5
15 3 False 5
16 3 False 5
17 3 True 5
18 3 False 6
19 3 False 6
1条答案
按热度按时间jq6vz3qz1#
IIUC,使用:
输出: