def METHOD_NAME(self, X, y=None):
    """Transform X and return a transformed version.
    private _transform containing the core logic, called from transform
    Parameters
    ----------
    X : pd.Series or pd.DataFrame
        Data to be transformed
    y : ignored argument for interface compatibility
        Additional data, e.g., labels for transformation
    Returns
    -------
    Xt : pd.Series or pd.DataFrame, same type as X
        transformed version of X
    """
    Z = X.copy()
    # multivariate
    if isinstance(Z, pd.DataFrame):
        for col in Z:
            Z[col] = self._transform_series(Z[col])
    # univariate
    else:
        Z = self._transform_series(Z)
    Xt = Z
    return Xt