Поиск последовательных сегментов во фрейме данных панд
У меня есть pandas.DataFrame с измерениями, сделанными в последовательные моменты времени. Наряду с каждым измерением наблюдаемая система имела отличное состояние в каждый момент времени. Следовательно, DataFrame также содержит столбец с состоянием системы при каждом измерении. Изменения состояния намного медленнее, чем интервал измерения. В результате столбец с указанием состояний может выглядеть следующим образом (index: state):
1: 3
2: 3
3: 3
4: 3
5: 4
6: 4
7: 4
8: 4
9: 1
10: 1
11: 1
12: 1
13: 1
Существует ли простой способ получения индексов каждого сегмента последовательно равных состояний. Это означает, что я хотел бы получить что-то вроде этого:
[[1,2,3,4], [5,6,7,8], [9,10,11,12,13]]
Результат также может быть в чем-то отличном от простых списков.
Единственное решение, о котором я мог думать до сих пор, - это ручная итерация по строкам, поиск точек изменения сегмента и восстановление индексов по этим точкам изменения, но я надеюсь, что есть более простое решение.