Использование more_itertools.consecutive_groups
:
С учетом
import numpy as np
import more_itertools as mit
iterable = np.array([1, 2, np.nan, np.nan, 5, 6, 7, np.nan])
код
[x for x in map(list, mit.consecutive_groups(iterable)) if len(x) != 1]
# [[1.0, 2.0], [5.0, 6.0, 7.0]]
Эквивалентное:
list(filter(lambda x: len(x) != 1, map(list, mit.consecutive_groups(iterable))))
# [[1.0, 2.0], [5.0, 6.0, 7.0]]
Примечание: more_itertools
- сторонняя библиотека. Установить через > pip install more_itertools
.