Source code for qualipy.backends.pandas_backend.dataset

from qualipy.backends.base import BaseData

from typing import List

import pandas as pd


[docs]class PandasData(BaseData): """PandasData must be instantiated when tracking pandas data"""
[docs] def __init__(self, data: pd.DataFrame): """ Args: data: The pandas dataset that we want to track """ self.data = data # should make this private self.stratify = False
def set_fallback_data(self): return self.data.head(0) def get_data(self): return self.data
[docs] def set_stratify_rule(self, column: str, values: List[str] = None) -> None: """Use this when you want to run all functions on separate stratifications Currently, only equality based stratification is possible. In the future, comparison based stratifications will be available. Args: column: The name of the column you want to stratify on. values: If you only want to include a subset of values within ``column``, specify them here Returns: None """ self.stratify = True self.column = column if values is None: values = self.data[column].unique().tolist() if not isinstance(values, list): values = [values] self.stratify_values = values
def subset_function(self): def _subset_function(data, value): _data = data[data[self.column] == value] return _data return _subset_function