class_docstr: Construct a transformer per data group. Splits data by groups from single or multiple columns and transforms
  remaining columns using the transformers corresponding to the groups.
  
  Parameters
  ----------
  transformer : scikit-learn compatible transformer
      The transformer to be applied per group.
  groups : int | str | List[int] | List[str] | None
      The column(s) of the array/dataframe to select as a grouping parameter set. If `None`, the transformer will be
      applied to the entire input without grouping.
  use_global_model : bool, default=True
      Whether or not to fall back to a general transformation in case a group is not found during `.transform()`.
  
  Attributes
  ----------
  transformers_ : scikit-learn compatible transformer | dict[..., scikit-learn compatible transformer]
      The fitted transformers per group or a single fitted transformer if `groups` is `None`.
  fallback_ : scikit-learn compatible transformer | None
      The fitted transformer to fall back to in case a group is not found during `.transform()`. Only present if
      `use_global_model` is `True`.
code: def __init__(self, transformer, groups, use_global_model=True):
      self.transformer = transformer
      self.groups = groups
      self.use_global_model = use_global_model
  
file_path: scikit-lego/sklego/meta/grouped_transformer.py
imports: import numpy
  import pandas
  from sklearn.base import BaseEstimator, TransformerMixin, clone
  from sklearn.utils.validation import check_is_fitted
  from sklego.meta._grouped_utils import _split_groups_and_values
label_desc: Use image node_id 1 to create a new GroupedTransformer object from inherited base classes: BaseEstimator, TransformerMixin with example: obj = GroupedTransformer(transformer, groups, use_global_model)