class_docstr: Fills missing values in the data.
  
  Parameters
  ----------
  fillna_map : dict, default {'object': ''}
      Map which dictates the fill values of NaNs.
      Keys are the raw types of the features as in self.feature_metadata_in.type_map_raw.
      If a feature's raw type is not present in fillna_map, its NaN values are filled to fillna_default.
  fillna_default, default np.nan
      The default fillna value if the feature's raw type is not present in fillna_map.
      Be careful about setting this to anything other than np.nan, as not all raw types can handle int, float, or string values.
  inplace : bool, default False
      If True, then the NaN values are filled 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):
      features = self.feature_metadata_in.get_features()
      self._fillna_feature_map = dict()
      for feature in features:
          feature_raw_type = (
              self.feature_metadata_in.get_feature_type_raw(feature)
          )
          feature_fillna_val = self.fillna_map.get(
              feature_raw_type, self.fillna_default
          )
          if feature_fillna_val is not np.nan:
              self._fillna_feature_map[feature] = feature_fillna_val
      return (
          self._transform(X),
          self.feature_metadata_in.type_group_map_special,
      )
  
file_path: autogluon/features/src/autogluon/features/generators/fillna.py
imports: import logging
  import warnings
  import numpy
  from pandas import DataFrame
  from autogluon.common.features.types import R_OBJECT
  from .abstract import AbstractFeatureGenerator
label_desc: Use image node_id 2 for calling the FillNaFeatureGenerator obj's underlying member method code with example usage: obj._fit_transform(X) and returns: self,  self