Я создаю несколько отфильтрованных фреймов данных на основе базового 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'))
В идеале, чтобы потом можно было добавлять произвольные функции фильтрации.