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
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'])
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()
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