<p>你可以这样试试</p>
<pre><code>import pandas as pd
df1 = pd.DataFrame({'frame': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
'label': ['other', 'splenic', 'other', 'other', 'hepatic', 'other', 'other', 'other', 'hepatic',
'other', 'splenic', 'other']})
df2 = pd.DataFrame({'frame': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
'label': ['other', 'heaptic', 'other', 'other', 'splenic', 'other', 'other', 'other', 'splenic',
'other', 'hepatic', 'other']})
def get_label(dataframe):
label = ['hepatic', 'splenic']
start_val = end_val = ''
for _, df in dataframe.iterrows():
if df['label'] in label:
start_val = df['label']
end_val = label[label.index(start_val)-1]
break
start_frame = list(dataframe.loc[(dataframe['label'] == start_val), 'frame'].values)
end_frame = list(dataframe.loc[(dataframe['label'] == end_val), 'frame'].values)
return start_frame, end_frame
if __name__ == '__main__':
start, end = get_label(df1)
print(start, end)
</code></pre>