我有以下 bool 系列,我试图找到 count,我必须检查 False 值,如果 False< 的计数 连续系列中的值 大于 2 然后让它为 false 但如果 count 小于等于 2 那么我必须反转它们,来自 从假到真
预期输出:就像第一次一样,False 重复两次,这意味着它将变为 True,但是如果我们在 true 值之后看到 false 再次重复两次以上,那么这些值将保持为 false,
如何使用 Pandas 函数执行此操作?
True
True
True
True
True
False
False
True
True
True
True
True
True
True
False
False
False
False
False
False
True
True
True
True
请您参考如下方法:
让我们尝试不同的东西
s=df.cumsum().mask(df)
df=df.mask(s.isin(s.value_counts()[s.value_counts()<=2].index),True)
df
0 True
1 True
2 True
3 True
4 True
5 True
6 True
7 True
8 True
9 True
10 True
11 True
12 True
13 True
14 False
15 False
16 False
17 False
18 False
19 False
20 True
21 True
22 True
23 True
Name: a, dtype: bool
