class_docstr: The OutlierTrimmer() removes observations with outliers from the dataset.
  
  The OutlierTrimmer() first calculates the maximum and /or minimum values
  beyond which a value will be considered an outlier, and thus removed.
  
  {intro_docstring}
  
  The OutlierTrimmer() works only with numerical variables. A list of variables can
  be indicated. Alternatively, it will select all numerical variables.
  
  The transformer first finds the values at one or both tails of the distributions
  (fit). The transformer then removes observations with outliers from the dataframe
  (transform).
  
  More details in the :ref:`User Guide <outlier_trimmer>`.
  
  Parameters
  ----------
  {capping_method}
  
  {tail}
  
  {fold}
  
  {variables}
  
  {missing_values}
  
  Attributes
  ----------
  {right_tail_caps_}
  
  {left_tail_caps_}
  
  {variables_}
  
  {feature_names_in_}
  
  {n_features_in_}
  
  Methods
  -------
  fit:
      Find maximum and minimum values.
  
  {fit_transform}
  
  transform:
      Remove outliers.
docstr: Remove observations with outliers from the dataframe.
  
  Parameters
  ----------
  X : pandas dataframe of shape = [n_samples, n_features]
      The data to be transformed.
  
  Returns
  -------
  X_new: pandas dataframe of shape = [n_samples, n_features]
      The dataframe without outlier observations.
code: def transform(self, X: pd.DataFrame) -> pd.DataFrame:
      """
      Remove observations with outliers from the dataframe.
  
      Parameters
      ----------
      X : pandas dataframe of shape = [n_samples, n_features]
          The data to be transformed.
  
      Returns
      -------
      X_new: pandas dataframe of shape = [n_samples, n_features]
          The dataframe without outlier observations.
      """
  
      X = self._check_transform_input_and_state(X)
  
      for feature in self.right_tail_caps_.keys():
          inliers = X[feature].le(self.right_tail_caps_[feature])
          X = X.loc[inliers]
  
      for feature in self.left_tail_caps_.keys():
          inliers = X[feature].ge(self.left_tail_caps_[feature])
          X = X.loc[inliers]
  
      return X
  
file_path: feature_engine/feature_engine/outliers/trimmer.py
imports: import pandas
  from feature_engine._docstrings.fit_attributes import _feature_names_in_docstring, _n_features_in_docstring, _variables_attribute_docstring
  from feature_engine._docstrings.init_parameters import _missing_values_docstring, _variables_numerical_docstring
  from feature_engine._docstrings.methods import _fit_transform_docstring
  from feature_engine._docstrings.substitute import Substitution
  from feature_engine.outliers.base_outlier import WinsorizerBase
label_desc: Use image node_id 1 for calling the OutlierTrimmer obj's underlying member method code with example usage: obj.transform(X) and returns: X