code: def transform(self, X, y=None):
          
          Xt, yt, _ = self._transform(X, y)
  
          if isinstance(self._final_estimator, XyTransformerMixin):
              Xt, yt, _ = self._final_estimator.transform(Xt, yt)
          else:
              Xt = self._final_estimator.transform(Xt)
  
          return Xt, yt
docs: Apply transforms, and transform with the final estimator
          This also works where final estimator is ``None``: all prior
          transformations are applied.
  
          Parameters
          ----------
          X : iterable
              Data to transform. Must fulfill input requirements of first step
              of the pipeline.
          y : array-like
              Target
  
          Returns
          -------
          Xt : array-like, shape = [n_samples, n_transformed_features]
              Transformed data
          yt : array-like, shape = [n_samples]
              Transformed target