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`.
docstr: Check if the supplied transformer has a `transform` method and raise a `ValueError` if not.
docstr_tok: ["Check","if","the","supplied","transformer","has","a","`","transform","`","method","and","raise","a","`","ValueError","`","if","not","."]
code: def __check_transformer(self):
      """Check if the supplied transformer has a `transform` method and raise a `ValueError` if not."""
      if not hasattr(self.transformer, "transform"):
          raise ValueError(
              "The supplied transformer should have a 'transform' method"
          )
  
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 4 for calling the GroupedTransformer obj's underlying member method code with example usage: obj.__check_transformer() without return types