class_docstr: Base class for sliding and expanding window splitter.
docstr: Return the cutoff points in .iloc[] context.
  
  Parameters
  ----------
  y : pd.Series or pd.Index, optional (default=None)
      Time series to split
  
  Returns
  -------
  cutoffs : 1D np.ndarray of int
      iloc location indices, in reference to y, of cutoff indices
docstr_tok: ["Return","the","cutoff","points","in",".iloc","[","]","context",".","Parameters","--","--","--","--","--","y",":","pd.Series","or","pd.Index",",","optional","(","default=None",")","Time","series","to","split","Returns","--","--","--","-","cutoffs",":","1D","np.ndarray","of","int","iloc","location","indices",",","in","reference","to","y",",","of","cutoff","indices"]
code: def get_cutoffs(
      self, y: Optional[ACCEPTED_Y_TYPES] = None
  ) -> np.ndarray:
      """Return the cutoff points in .iloc[] context.
  
      Parameters
      ----------
      y : pd.Series or pd.Index, optional (default=None)
          Time series to split
  
      Returns
      -------
      cutoffs : 1D np.ndarray of int
          iloc location indices, in reference to y, of cutoff indices
      """
      if y is None:
          raise ValueError(
              f"{self.__class__.__name__} requires `y` to compute the cutoffs."
          )
      y = get_index_for_series(y)
      fh = _check_fh(self.fh)
      step_length = check_step_length(self.step_length)
  
      if self._initial_window is None:
          start = self._get_start(y=y, fh=fh)
      elif is_int(x=self._initial_window):
          start = self._initial_window
      else:
          start = y.get_loc(y[0] + self._initial_window)
  
      end = _get_end(y_index=y, fh=fh) + 2
      if is_int(x=step_length):
          return np.arange(start, end, step_length) - 1
      else:
          offset = step_length if start == 0 else pd.Timedelta(0)
          start_date = y[y < y[start] + offset][-1]
          end_date = (
              y[end - 1] - step_length if end <= len(y) else y[-1]
          )
          date_cutoffs = pd.date_range(
              start=start_date, end=end_date, freq=step_length
          )
          cutoffs = np.argwhere(y.isin(date_cutoffs)).flatten()
          if start <= 0:
              cutoffs = np.hstack((-1, cutoffs))
          return cutoffs
  
imports: from typing import Optional
  import numpy
  import pandas
  from sktime.datatypes._utilities import get_index_for_series
  from sktime.forecasting.base import ForecastingHorizon
  from sktime.split.base import BaseSplitter
  from sktime.split.base._common import ACCEPTED_Y_TYPES, FORECASTING_HORIZON_TYPES, SPLIT_ARRAY_TYPE, SPLIT_GENERATOR_TYPE, _check_fh, _check_inputs_for_compatibility, _get_end
  from sktime.utils.validation import ACCEPTED_WINDOW_LENGTH_TYPES, NON_FLOAT_WINDOW_LENGTH_TYPES, array_is_int, check_window_length, is_int, is_timedelta_or_date_offset
  from sktime.utils.validation.forecasting import check_step_length
label_desc: Use image node_id 10 for calling the BaseWindowSplitter obj's underlying member method code with example usage: obj.get_cutoffs(y) and returns: unknown, cutoffs