熊猫数据框检查连续值

时间:2020-04-15 11:42:57

标签: pandas

具有如下所示的Pandas数据框。

git config --global user.email "gjoncaadrian@gmail.com"
git config --global user.name "yourname"

需要在熊猫的数据框上方添加一个标识符列,以便每当Month连续三次,则填充True值,否则填充false值。探索了一些选项,例如轮班和没有运气的窗口。任何指针表示赞赏。

EventOccurrence Month
1                4
1                5
1                6
1                9
1                10
1                12

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以检查行之间的diff是否为1,而移过1的diff是否也为1:

df['Flag'] = (df.Month.diff() == 1) & (df.Month.diff().shift() == 1)

   EventOccurrence  Month   Flag
0                1      4  False
1                1      5  False
2                1      6   True
3                1      9  False
4                1     10  False
5                1     12  False

请注意,如果连续> 3次,它也将返回True,但是该行为未在问题中指定,因此我认为是可以的

如果仅需要 标记第三个实例,而不是例如第四个连续实例,则可以添加条件:

df['Flag'] = (df.Month.diff() == 1) & (df.Month.diff().shift() == 1) & (df.Month.diff().shift(2) !=1)