class_docstr: Scales time series by diving by their mean absolute value.
code: def fit_transform(self, df: pd.DataFrame) -> pd.DataFrame:
      target = (
          df[self.target_col].replace([np.inf, -np.inf], np.nan).abs()
      )
      self.stats_ = (
          target.groupby(df[self.id_col], sort=False)
          .agg(["mean"])
          .rename(columns={"mean": "_scale"})
      )
      self.stats_["_scale"] = self.stats_["_scale"].clip(
          lower=self.min_scale
      )
      df = df.merge(self.stats_, on=self.id_col)
      df[self.target_col] = df[self.target_col] / df["_scale"]
      df = df.drop(columns=["_scale"])
      return df
  
file_path: autogluon/timeseries/src/autogluon/timeseries/models/autogluon_tabular/utils.py
imports: import numpy
  import pandas
  from mlforecast.target_transforms import BaseTargetTransform
label_desc: Use image node_id 1 for calling the MeanAbsScaler obj's underlying member method code with example usage: obj.fit_transform(df) and returns: df