擅长:python、mysql、java
<p>如果您只需要组中的最后一个no,请尝试<code>drop_duplicates</code></p>
<pre><code>df1=df.copy()
df=df[df['Flag'].eq('no')].drop_duplicates(['GroupID'],keep='last')
idx=df.index+1
idy=df.index-2
import itertools
df1.loc[list(itertools.chain(*[list(range(y,x)) for x , y in zip(idx,idy)]))]
Out[512]:
StringCol Timestamp GroupID Flag
1 abc 20170101 123 yes
2 def 20170101 123 yes
3 ghi 20170101 123 no
4 abc 20170101 124 yes
5 jkl 20170101 124 yes
6 pqr 20170101 124 no
</code></pre>