Вы можете попробовать
-> группирование кадра данных по последовательности меток и добавление сгруппированного значения
-> сгруппировать фрейм данных по меткам, чтобы получить информацию об отдельных идентификаторах в виде списка
Рассмотренный фрейм данных
label value
0 1 a
1 1 b
2 2 NaN
3 2 NaN
4 1 c
5 1 d
6 1 e
7 3 b
8 3 c
#grouping the dataframe by label sequence checking with the previous value
df['value1'] = df.groupby(df.label.diff(1).abs().cumsum().fillna(0)).transform(sum)['value']
0 4.0
1 4.0
2 3.0
3 3.0
4 2.0
5 2.0
6 2.0
7 0.0
8 0.0
#group the dataframe by label to get individual ids information as list
df.groupby(df.label).apply(lambda x: x['value1'].unique())
Из:
label
1 [ab, cde]
2 [0.0]
3 [bc]
dtype: object