class_docstr: Conditional execution of a transformer given a condition from a fittable object.
  
  Compositor to construct conditionally executed transformers, e.g.,
  
  * compute first differences if a stationarity test is positive
  * deseasonalize if a seasonality test is positive
  
  This compositor allows to specify a condition, and an if/else transformer.
  The default "else" transformer is "no transformation".
  
  The specific algorithm implemented is as follows:
  
  In `fit`, for inputs `X`, `y`:
  1. fits `if_estimator` to `X`, `y`
  2. checks the condition for `if_estimator` fitted parameter `param`:
     whether `param` satisfies `condition` with `condition_value`
  3. If yes, fits `then_est` to `X`, `y`, and behaves as `then_est` from then on
     If no, fits `else_est` to `X`, `y`, and behaves as `else_est` from then on
  
  In other methods, behaves as `then_est` or `else_est`, as above.
  
  Note: `then_trafo` and `else_trafo` must hae the same input/output signature,
  e.g., Series-to-Series, or Series-to-Primitives.
  
  Parameters
  ----------
  if_estimator : sktime estimator, must have `fit`
      sktime estimator to fit and apply to series.
      this is a "blueprint" estimator, state does not change when `fit` is called
  param : str, optional, default = first boolean parameter of fitted if_estimator
  condition : str, optional, default = "bool"
      condition that defines whether self behaves like `then_est` or `else_est`
      this estimator behaves like `then_est` iff:
      "bool" = if `param` is True
      ">", ">=", "==", "<", "<=", "!=" = if `param condition condition_value`
  condition_value : required for some conditions, see above; otherwise optional
  then_trafo : sktime transformer, optional, default=`if_estimator`
      transformer that this behaves as if condition is satisfied
      this is a "blueprint" transformer, state does not change when `fit` is called
  else_trafo : sktime transformer, optional default=`Id` (identity/no transform)
      transformer that this behaves as if condition is not satisfied
      this is a "blueprint" transformer, state does not change when `fit` is called
  
  Attributes
  ----------
  transformer_ : transformer,
      this clone is fitted when `fit` is called
      if condition is satisfied, a clone of `then_est`
      if condition is not satisfied, a clone of `else_est`
  condition_ : bool,
      True if condition was true, False if it was false
  if_estimator_ : estimator
      this clone of `if_estimator` is fitted when `fit` is called
  
  Examples
  --------
  >>> from sktime.param_est.seasonality import SeasonalityACF
  >>> from sktime.transformations.compose import TransformIf
  >>> from sktime.transformations.series.detrend import Deseasonalizer
  >>> from sktime.datasets import load_airline
  >>>
  >>> y = load_airline()  # doctest: +SKIP
  >>>
  >>> seasonal = SeasonalityACF(candidate_sp=12)  # doctest: +SKIP
  >>> deseason = Deseasonalizer(sp=12)  # doctest: +SKIP
  >>> cond_deseason = TransformIf(seasonal, "sp", "!=", 1, deseason)  # doctest: +SKIP
  >>> y_hat = cond_deseason.fit_transform(y)  # doctest: +SKIP
docstr: Get fitted parameters.
  
  private _get_fitted_params, called from get_fitted_params
  
  State required:
      Requires state to be "fitted".
  
  Returns
  -------
  fitted_params : dict with str keys
      fitted parameters, keyed by names of fitted parameter
code: def _get_fitted_params(self):
      """Get fitted parameters.
  
      private _get_fitted_params, called from get_fitted_params
  
      State required:
          Requires state to be "fitted".
  
      Returns
      -------
      fitted_params : dict with str keys
          fitted parameters, keyed by names of fitted parameter
      """
      return BaseTransformer._get_fitted_params(self)
  
file_path: sktime/sktime/transformations/compose/_transformif.py
imports: from sktime.datatypes import ALL_TIME_SERIES_MTYPES, mtype_to_scitype
  from sktime.transformations._delegate import _DelegatedTransformer
  from sktime.transformations.base import BaseTransformer
  from sktime.transformations.compose._common import CORE_MTYPES
  from sktime.transformations.compose._id import Id
label_desc: Use image node_id 4 for calling the TransformIf obj's underlying member method code with example usage: obj._get_fitted_params() and returns: BaseTransformer