class_docstr: RenameFeatureGenerator renames the columns without altering their values.
  This can be used to avoid column name collisions when transforming the same feature in multiple ways,
  or to highlight that a feature was derived from a particular pipeline.
  
  Parameters
  ----------
  name_prefix : str, default None
      Name prefix to add to all output feature names.
  name_suffix : str, default None
      Name suffix to add to all output feature names.
  inplace : bool, default False
      If True, then the column names are renamed inplace without copying the input data.
      This will alter the input data outside of the scope of this function.
  **kwargs :
      Refer to :class:`AbstractFeatureGenerator` documentation for details on valid key word arguments.
code: def _fit_transform(self, X: DataFrame, **kwargs) -> (DataFrame, dict):
      (
          column_rename_map,
          self._is_updated_name,
      ) = self._get_renamed_features(X)
      if not self.inplace:
          X = copy.deepcopy(X)
      X.columns = [column_rename_map.get(col, col) for col in X.columns]
  
      feature_metadata_out = self.feature_metadata_in.rename_features(
          column_rename_map
      )
      return X, feature_metadata_out.type_group_map_special
  
file_path: autogluon/features/src/autogluon/features/generators/rename.py
imports: import copy
  import logging
  from pandas import DataFrame
  from .abstract import AbstractFeatureGenerator
label_desc: Use image node_id 2 for calling the RenameFeatureGenerator obj's underlying member method code with example usage: obj._fit_transform(X) and returns: X,  feature_metadata_out