У меня есть несколько временных рядов или просто списки целых чисел, как показано ниже -
array([ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 55, 57, 58, 59, 59, 57, 59, 56, 58, 58,
57, 58, 58, 59, 57, 57, 59, 56, 60, 58, 59,
55, 59, 60, 56, 57, 60, 56, 59, 56, 58, 58,
57, 61, 55, 58, 58, 59, 57, 58, 58, 58, 58,
58, 58, 66, 49, 59, 59, 56, 57, 59, 60, 58,
56, 57, 60, 56, 60, 55, 59, 59, 56, 59, 3057,
1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 41, 59, 57, 58, 59, 59, 57, 58, 59, 56,
59, 57, 58, 57, 59, 57, 60, 57, 57, 58, 57,
58, 58, 57, 58, 64, 52, 58, 59, 59, 55, 58,
59, 57, 58, 58, 58, 60, 57, 56, 58, 59, 57,
58, 57, 59, 59, 57, 3055, 2, 1, 1, 1, 1,
1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1], dtype=int64)
Я пытаюсь реализовать функцию python, которая выдала бы мне список сегментированных областей из списка, как показано ниже :
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1],
[55, 57, 58, 59, 59, 57, 59, 56, 58, 58,
57, 58, 58, 59, 57, 57, 59, 56, 60, 58, 59,
55, 59, 60, 56, 57, 60, 56, 59, 56, 58, 58,
57, 61, 55, 58, 58, 59, 57, 58, 58, 58, 58,
58, 58, 66, 49, 59, 59, 56, 57, 59, 60, 58,
56, 57, 60, 56, 60, 55, 59, 59, 56, 59],
[1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1],
...
Примечание: 3057 не добавляется, поскольку является выбросом и имеет длину только 1 (это не является обязательным, поскольку его можно отфильтровать позже легко основывается на длине).
Я могу подумать о некотором ad-ho c logi c, но я ищу надежный подход Pythoni c (диапазон значений будет в пределах (1, ~ 10000)).