Source code for xailib.data_loaders.dataframe_loader

"""
DataFrame loading and preparation utilities for XAI-Lib.

This module provides utilities for loading and preparing pandas DataFrames
for use with XAI-Lib tabular data explainers.

Functions:
    prepare_dataframe: Prepare a DataFrame for use with explainers.

Example:
    >>> from xailib.data_loaders.dataframe_loader import prepare_dataframe
    >>>
    >>> df, feature_names, class_values, numeric_columns, \\
    ...     rdf, real_feature_names, features_map = prepare_dataframe(df, 'target')
"""

from lore_explainer.datamanager import prepare_dataset


[docs] def prepare_dataframe(df, class_field): """ Prepare a pandas DataFrame for use with XAI-Lib explainers. This function wraps the LORE library's prepare_dataset function to process a DataFrame for use with various XAI-Lib explainers. It handles feature encoding, categorical variable mapping, and other preprocessing steps. Args: df (pd.DataFrame): Input DataFrame containing features and target. class_field (str): Name of the target/class column in the DataFrame. Returns: tuple: A tuple containing: - df: Processed DataFrame - feature_names: List of feature column names - class_values: List of unique class values - numeric_columns: List of numeric column names - rdf: Reconstructed DataFrame with original encoding - real_feature_names: Original feature names before encoding - features_map: Mapping of encoded to original features Example: >>> import pandas as pd >>> df = pd.DataFrame({ ... 'age': [25, 30, 35], ... 'income': [50000, 60000, 70000], ... 'approved': [0, 1, 1] ... }) >>> result = prepare_dataframe(df, 'approved') >>> df_processed, feature_names, class_values, *rest = result """ return prepare_dataset(df, class_field)