make_example_dataframe_list

make_example_dataframe_list(n_cases: int = 10, n_channels: int = 1, min_n_timepoints: int = 8, max_n_timepoints: int = 12, n_labels: int = 2, regression_target: bool = False, random_state: int | None = None, return_y: bool = True) list[DataFrame] | tuple[list[DataFrame], ndarray][source]

Randomly generate list of DataFrame X and numpy y for testing.

Generates data in ‘df-list’ format.

Will ensure there is at least one sample per label if a classification label is being returned (regression_target=False).

Parameters:
n_casesint

The number of samples to generate.

n_channelsint

The number of series channels to generate.

min_n_timepointsint

The minimum number of features/series length to generate for individual series.

max_n_timepointsint

The maximum number of features/series length to generate for individual series.

n_labelsint

The number of unique labels to generate.

regression_targetbool

If True, the target will be a scalar float, otherwise an int.

random_stateint or None

Seed for random number generation.

return_ybool, default = True

Return the y target variable.

Returns:
Xlist of pd.DataFrame

Randomly generated potentially unequal length 3D data.

ynp.ndarray

Randomly generated labels if return_y is True.

Examples

>>> from aeon.testing.data_generation import make_example_dataframe_list
>>> from aeon.utils.validation.collection import get_type
>>> data, labels = make_example_dataframe_list(
...     n_cases=2,
...     n_channels=2,
...     min_n_timepoints=4,
...     max_n_timepoints=6,
...     n_labels=2,
...     random_state=0,
... )
>>> print(data)
[          0         1
0  0.000000  1.688531
1  1.715891  1.694503
2  1.247127  0.768763
3  0.595069  0.113426,           0         1
0  2.000000  3.166900
1  2.115580  2.272178
2  3.702387  0.284144
3  0.348517  0.080874]
>>> print(labels)
[0 1]
>>> get_type(data)
'df-list'