Tip
This page was generated from guide/build_transformer.ipynb.
How to Build Transformer#
Generate Transformer from Method#
[1]:
from __future__ import annotations
import numpy as np
from dtoolkit.transformer.factory import methodtf_factory
Generate a plus / minus constant transformer:
[2]:
def plus_constant(X: np.ndarray, constant: int | float) -> np.ndarray:
"""Plus constant to each element of ``X``"""
return X + constant
def minus_constant(X: np.ndarray, constant: int | float) -> np.ndarray:
"""Minus constant to each element of ``X``"""
return X - constant
PlusTF = methodtf_factory(plus_constant, minus_constant)
Use this transformer:
[3]:
a = np.array([1, 2, 3])
tf = PlusTF(constant=1).update_invargs(constant=1)
[4]:
tf.transform(a)
[4]:
array([2, 3, 4])
[5]:
tf.inverse_transform(a)
[5]:
array([0, 1, 2])
Build DataFrame Transformer#
Port numpy
’s method to transformer.
[6]:
from dtoolkit.transformer import NumpyTF
class MyTF(NumpyTF):
"""Doc here"""
transform_method = staticmethod("numpy's inner method")