擅长:python、mysql、java
<pre><code># Setting up input data
df = pd.DataFrame(np.random.rand(12500,2), columns=['col0','col1'])
for i in [0, 500, 1343, 2432, 5433, 7533]:
df.loc[i,'col1']='init string'
for i in range(1,12000,100):
df.loc[i,'col1']='xyz'
# Hopefully solution to your question
search_results=pd.DataFrame()
for init_index, next_init_index in zip(df[df.col1=='init string'].index, df[df.col1=='init string'][1::].index):
search_results = search_results.append(df.query('index>'+str(init_index)+
' & index<'+str(next_init_index)+
' & col1=="xyz"').head(1))
search_results
</code></pre>
<p><a href="https://i.stack.imgur.com/cyF2B.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/cyF2B.png" alt="enter image description here"/></a></p>