streamlit-dynamic-filters

DynamicFilters Class Documentation

DynamicFilters is a class in the streamlit-dynamic-filters library designed to create dynamic multi-select filters in Streamlit applications. Below is a detailed explanation of its methods, arguments, and usage examples.

Class Initialization

__init__(self, df, filters, filters_name='filters')

Initializes the DynamicFilters object with a dataframe and a list of filters.

Parameters:

Example:

import pandas as pd
from streamlit_dynamic_filters import DynamicFilters

data = {'Category': ['Fruit', 'Vegetable'], 'Item': ['Apple', 'Carrot']}
df = pd.DataFrame(data)
dynamic_filters = DynamicFilters(df, ['Category', 'Item'])

Methods

check_state(self)

Initializes the session state with filters if not already set.

reset_filters(self)

Resets the current filter.

Example:

st.button("Reset Filters", on_click=dynamic_filters.reset_filters)

filter_df(self, except_filter=None)

Filters the dataframe based on session state values except for the specified filter.

Parameters:

Returns:

Example:

filtered_df = dynamic_filters.filter_df(except_filter='Item')

display_filters(self, location=None, num_columns=0, gap="small")

Renders dynamic multiselect filters for user selection.

Parameters:

Example:

dynamic_filters.display_filters(location='sidebar')

display_df(self, **kwargs)

Renders the filtered dataframe in the main area.

Keyword Arguments:

Example:

dynamic_filters.display_df()