pd_provider
Pandas-backed unlabeled data provider.
- class pysatl_cpd.data.providers.plain.pd_provider.PandasDataProvider(dataset, annotation)[source]
Bases:
DataProvider[NumericArray,AnnotationT],GenericUnlabeled pandas-backed provider for numeric feature arrays.
- Parameters:
dataset (
DataFrame) – Underlying pandas DataFrame.annotation (
TypeVar(AnnotationT, bound=UnlabeledTimeseriesAnnotation)) – Annotation for the dataset.
- __init__(dataset, annotation)[source]
- Parameters:
dataset (DataFrame)
annotation (AnnotationT)
- Return type:
None
- __len__()[source]
Return the number of rows in the dataset.
- Returns:
Number of samples stored in the provider.
- Return type:
- property annotation: AnnotationT
Get annotation.
- Returns:
The annotation object.
- Return type:
- property dataset: DataFrame
Get dataset copy.
- Returns:
Copy of the underlying DataFrame.
- Return type:
- select_columns(columns, *, rename_provider=False)[source]
Select subset of columns.
- Parameters:
- Returns:
New provider with selected columns.
- Return type:
PandasDataProvider[TypeVar(AnnotationT, bound=UnlabeledTimeseriesAnnotation)]- Raises:
ValueError – If no columns are selected or unknown columns are requested.
- create_feature_column(*, name, mapping, rename_provider=False)[source]
Append a derived feature column computed row-wise.
- Parameters:
- Returns:
New provider with the appended feature column.
- Return type:
PandasDataProvider[TypeVar(AnnotationT, bound=UnlabeledTimeseriesAnnotation)]- Raises:
ValueError – If the column name is empty or already exists.
- cut(start, stop, *, annotation=None)[source]
Slice dataset by row indices.
- Parameters:
start (
int) – Start row index (inclusive).stop (
int) – Stop row index (inclusive).annotation (
Optional[TypeVar(AnnotationT, bound=UnlabeledTimeseriesAnnotation)]) – Optional annotation to use. If None, generates default.
- Returns:
New provider with sliced data.
- Return type:
PandasDataProvider[TypeVar(AnnotationT, bound=UnlabeledTimeseriesAnnotation)]
- classmethod merge(providers, annotation_builder=None)[source]
Merge multiple providers.
- Parameters:
providers (
Sequence[Self]) – Sequence of providers to merge.annotation_builder (
Callable[[Sequence[TypeVar(AnnotationT, bound=UnlabeledTimeseriesAnnotation)]],TypeVar(AnnotationT, bound=UnlabeledTimeseriesAnnotation)] |None) – Optional function to build merged annotation.
- Returns:
New merged provider.
- Return type:
PandasDataProvider[TypeVar(AnnotationT, bound=UnlabeledTimeseriesAnnotation)]- Raises:
ValueError – If providers do not share the same columns and column order.