Как найти группы последовательных значений, а не значений NaN в списке ⇐ Python
Как найти группы последовательных значений, а не значений NaN в списке
Я ищу метод фильтра, который мог бы находить в списке группы последовательных значений, а не значений 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
Я ищу метод фильтра, который мог бы находить в списке группы последовательных значений, а не значений 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
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение