我有这样一个df:
Period Count
1 1
2 0
3 1
4 1
5 0
6 0
7 1
8 1
9 1
10 0
如果Count中有两个或更多连续出现的1,我想在新列中返回一个“事件ID”,如果没有,则返回0。因此,在新列中,基于Count列中满足的条件,每行将获得1。我想要的输出将是:
Period Count Event_ID
1 1 0
2 0 0
3 1 1
4 1 1
5 0 0
6 0 0
7 1 2
8 1 2
9 1 2
10 0 0
我已经研究并找到了允许我标记出连续的一组相似数字(如1)的解决方案,但我还没有遇到我需要的。我希望能够使用这种方法来计数任何数量的连续出现,而不仅仅是2。例如,有时我需要计数10个连续出现,我只是在这里的例子中使用2。
2条答案
按热度按时间kzmpq1sx1#
这将完成工作:
for循环改编自this example(使用
itertools
,也可以使用其他方法)。4xrmg8kj2#
输出: