Фильтрация строк в кадре данных pandas с использованием нескольких функций фильтрации - PullRequest
0 голосов
/ 21 февраля 2020

Я создаю несколько отфильтрованных фреймов данных на основе базового df и функций фильтрации, которые возвращают список индексов для выбора. У меня возникли некоторые проблемы при его создании: c в том смысле, что он должен работать с несколькими функциями фильтрации и был бы признателен за некоторые советы.

Pseudo Python:

import pandas as pd


def some_filter_fn(df_index: pd.Index) -> list:
     return [list of indices based on some simple condition]

def another_filter_fn(df_index: pd.Index, another_param: str) -> list:
     return [list of indices depending on another_param]

def filtered_df(base_df: pd.DataFrame, filter_func) -> pd.DataFrame:
     filtered_df = base_df.loc[ base_df.index.isin(filter_func(base_df.index)) ].copy()
     # some ops on filtered_df follows
     # ...
     return filtered_df

I хочу иметь возможность делать

base_df = pd.DataFrame() # some DF
df1 = filtered_df(base_df, some_filter_fn)
df2 = filtered_df(base_df, another_filter_fn(another_param = 'val'))

В идеале, чтобы потом можно было добавлять произвольные функции фильтрации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...