class_docstr: Create summary values of a time series' splits.
  
  A series-to-series transformer that applies the series-to-primitives transformer
  ``transformer`` to each train split created using the splitter ``splitter``.
  
  The i-th row of the resulting series is equivalent to
  ``transformer.fit_transform(splitter.split_series(X)[i][0])``,
  where ``X`` is the data seen in ``transform``, if ``remember_data=False``; or
  where ``X`` is all data seen in ``fit``, ``transform``, if ``remember_data=True``
  
  The output series aims to provide a summarization of the input series based on the
  given transformer and splitter.
  
  Parameters
  ----------
  transformer : `sktime` transformer inheriting from `BaseTransformer`
  series-to-primitives transformer used to convert series to primitives.
  
  splitter : `sktime` splitter inheriting from `BaseSplitter`, optional (default=None)
  splitter used to divide the series.
  If None, it takes `ExpandingWindowSplitter` with `start_with_window=False`
  and otherwise default parameters.
  
  index : str, optional (default="last")
  Determines the indexing approach for the resulting series.
  If "last", the latest index of the split is used.
  If anything else, the row's number becomes the index.
  
  remember_data : bool, optional (default=True)
  if True, memorizes data seen in ``fit``, ``update``, uses it in ``transform``
  if False, only uses data seen in ``transform`` for splits and summaries.
  
  Methods
  -------
  transform(X) : Transforms the series according to the specified
      series-to-primitives transformer and splitter.
  
  See Also
  --------
  SummaryTransformer: Calculates summary value of a time series.
  
  Examples
  --------
  >>> from sktime.transformations.series.summarize import SplitterSummarizer
  >>> from sktime.transformations.series.summarize import SummaryTransformer
  >>> from sktime.split import ExpandingWindowSplitter
  >>> from sktime.datasets import load_airline
  >>> y = load_airline()
  >>> transformer = SplitterSummarizer(
  ...     transformer=SummaryTransformer(),
  ...     splitter=ExpandingWindowSplitter())
  >>> y_splitsummarized = transformer.fit_transform(y)
code: def __init__(
      self,
      transformer,
      splitter=None,
      index="last",
      remember_data=False,
  ):
      self.transformer = transformer
      self.index = index
      self.splitter = splitter
      self.remember_data = remember_data
  
      if splitter is None:
          self._splitter = SlidingWindowSplitter(
              start_with_window=False
          )
      else:
          self._splitter = splitter
  
      super().__init__()
  
      if not hasattr(self.transformer, "fit_transform"):
          raise ValueError(
              f"Error in {self.__class__.__name__}, transformer parameter "
              "should be an estimator with a fit_transform method"
          )
      if not hasattr(self._splitter, "split_series"):
          raise ValueError(
              f"Error in {self.__class__.__name__}, splitter parameter, if passed, "
              "should be an BaseSplitter descendant with a seplit_series method"
          )
  
      if remember_data:
          self.set_tags(
              **{"remember_data": True, "fit_is_empty": False}
          )
  
imports: import pandas
  from joblib import Parallel, delayed
  from sktime.split import ExpandingWindowSplitter, SlidingWindowSplitter
  from sktime.transformations.base import BaseTransformer
  from sktime.utils.multiindex import flatten_multiindex
label_desc: Use image node_id 1 to create a new SplitterSummarizer object from inherited base classes: BaseTransformer with example: obj = SplitterSummarizer(transformer, splitter, index, remember_data)