Files

29 lines
741 B
Python
Raw Permalink Normal View History

from __future__ import annotations
from typing import Literal, Optional, Union
from abc import ABC, abstractmethod
import pandas as pd
class Transformation(ABC):
@abstractmethod
def fit(self, X: pd.DataFrame, y: Optional[pd.Series]) -> None:
raise NotImplementedError
@abstractmethod
def fit_transform(
self, X: pd.DataFrame, y: Optional[pd.Series] = None
) -> pd.DataFrame:
raise NotImplementedError
@abstractmethod
def transform(self, X: pd.DataFrame) -> pd.DataFrame:
raise NotImplementedError
@abstractmethod
def clone(self) -> Transformation:
raise NotImplementedError
@abstractmethod
def get_name(self) -> str:
raise NotImplementedError