Conversion between pandas DataFrames and TuiML datasets.

Turns an in-memory DataFrame into a Dataset and back, inferring which columns are numeric and encoding, dropping, or rejecting the rest. The file-based loaders for CSV, Excel, and Parquet route their column handling through here, so typing behaves the same everywhere.

Functions

Func

load_pandas

Line 14
load_pandas(df, target_column: Optional[Union[str, int]]=None, feature_columns: Optional[List[Union[str, int]]]=None, drop_columns: Optional[List[Union[str, int]]]=None, handle_categorical: str='encode') -> Dataset

Load data from pandas DataFrame.

Parameters

df
pandas.DataFrame
pandas DataFrame
target_column
str, int, or None
Column name or index for target variable (None for unsupervised, -1 for last column)
feature_columns
list of str or int, or None
List of columns to use as features (None to use all except target)
drop_columns
list of str or int, or None
List of columns to drop before processing
handle_categorical
str

How to handle categorical columns:

  • 'encode': Label encode to integers
  • 'drop': Drop categorical columns
  • 'error': Raise error if categorical found

Returns

result
Dataset
Dataset object with X, y, feature_names
python
>>> import pandas as pd
>>> df = pd.read_csv('data.csv')
>>> data = load_pandas(df, target_column='species')
>>> data.X.shape, data.y.shape
python
>>> # Using column index
>>> data = load_pandas(df, target_column=-1)
python
>>> # Select specific features
>>> data = load_pandas(df, target_column='target',
...                    feature_columns=['age', 'income', 'score'])
Func

to_pandas

Line 161
to_pandas(dataset: Dataset, include_target: bool=True)

Convert Dataset to pandas DataFrame.

Parameters

dataset
Dataset
Dataset object
include_target
bool
Whether to include target column

Returns

result
pandas.DataFrame
pandas DataFrame
python
>>> from tuiml.datasets.loaders import load_arff, to_pandas
>>> data = load_arff('iris.arff')
>>> df = to_pandas(data)
>>> df.head()
Func

from_pandas

Line 206
from_pandas(df, target_column: Optional[Union[str, int]]=None, **kwargs) -> Dataset

Convert a pandas DataFrame into a Dataset.

Naming counterpart to to_pandas; forwards every argument to load_pandas, which does the actual conversion.

Parameters

df
pandas.DataFrame
The DataFrame to convert.
target_column
str, int, or None = None
Column name or zero-based index to use as the target. None keeps every column as a feature.
**kwargs
dict
Additional arguments passed through to load_pandas, such as handle_categorical.

Returns

result
Dataset
Standardized dataset object containing data and metadata.
python
>>> from tuiml.datasets.loaders import from_pandas
>>> data = from_pandas(df, target_column='species')
>>> X, y = data