Как найти группы последовательных значений, а не значений NaN в спискеPython

Программы на Python
Anonymous
Как найти группы последовательных значений, а не значений NaN в списке

Сообщение Anonymous »


Я ищу метод фильтра, который мог бы находить в списке группы последовательных значений, а не значений NaN, и возвращать индексы первого и последнего элементов этих групп.

Например, список

[Нан, Нан, 4, 63, 34, Нан, Нан, Нан, 234, 3, Нан]

должен возвращать кортежи для каждой группы:

[[2,4],[8,9]]

Я создал функцию для фреймов данных pandas, которая работает, но мне хотелось бы знать, есть ли простой метод:
def find_groups_indexes(db): groups_indexes = [] для меня в диапазоне (len(db)-1): если db.iloc.isnull().all()==True и db.iloc[i+1].isnull().all()==False: подгруппа = [я+1] если db.iloc.isnull().all()==False и db.iloc[i+1].isnull().all()==True: subgroup.append(я) groups_indexes.append(подгруппа) подгруппа=[] print('\ngroups = ', groups_indexes) вернуть groups_indexes

Вернуться в «Python»