Предположим, у меня проблема в том, что моя последовательность должна выглядеть следующим образом:
>>> np.repeat([1,2,3,4],6)
array([1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4,
4, 4])
Но на самом деле это выглядит примерно так из-за шума, поврежденных датчиков или чего-либо еще:
array([6, 1, 1, 6, 1, 2, 2, 4, 2, 2, 2, 3, 3, 3, 3, 3, 8, 4, 4, 6, 4, 4])
значения были пропущены или неправильно зарегистрированы.
Теперь я хочу:
- Найти количество смежных последовательностей и их идентификатор (под этим я подразумеваю, например, что
1,1,1,1,1,1
- это последовательность длиной шесть со всеми значениями 1
). - Все смежные последовательности должны иметь одинаковую длину, но из-за шума и поврежденных данных они могут отсутствовать в данных.Я также хочу найти длину смежной последовательности.
- Наконец, на высоком уровне я хочу быть в состоянии сказать, имеет ли последовательность, которую я передаю своей функции, эту структуру (повторяющуюся непрерывную последовательность) - в основном какой-то тест, который возвращает
True
илиFalse
в зависимости от характера последовательности.