擅长:python、mysql、java
<p>尝试:</p>
<pre><code>lst = [True,True,True,True,False,True,True,True,True,True,True,False,True]
from itertools import groupby
>>> max(sum(1 for i in c if i) for n, c in groupby(lst))
6
</code></pre>
<p>编辑:要为数据帧的每一行实现此功能,可以执行以下操作:</p>
<pre><code>df["seq"] = df.apply(lambda x: max(sum(1 for i in c if i) for n, c in groupby(x)), axis=1)
>>> df
diff0 diff1 diff2 diff3 diff4 diff5 diff6 diff7 diff8 diff9 seq
0 True True True False True False False True False True 3
1 False False False False False False False False False False 0
2 False False False False False False False False False False 0
3 True False False False True False True False False False 1
4 True False True False False True False False False False 1
</code></pre>