Поиск последовательных сегментов во фрейме данных панд

У меня есть 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]]

Результат также может быть в чем-то отличном от простых списков.

Единственное решение, о котором я мог думать до сих пор, - это ручная итерация по строкам, поиск точек изменения сегмента и восстановление индексов по этим точкам изменения, но я надеюсь, что есть более простое решение.

Ответы на вопрос(2)

Ваш ответ на вопрос