class_docstr: Base class for forecasters that use sliding windows.
class_docstr_tok: ["Base","class","for","forecasters","that","use","sliding","windows","."]
docstr: Make single-step or multi-step fixed cutoff predictions.
  
  Parameters
  ----------
  fh : np.array
      all positive (> 0)
  X : pd.DataFrame
  
  Returns
  -------
  y_pred = pd.Series or pd.DataFrame
docstr_tok: ["Make","single-step","or","multi-step","fixed","cutoff","predictions",".","Parameters","--","--","--","--","--","fh",":","np.array","all","positive","(",">","0",")","X",":","pd.DataFrame","Returns","--","--","--","-","y_pred","=","pd.Series","or","pd.DataFrame"]
code: def _predict_fixed_cutoff(self, fh, X=None, **kwargs):
      """Make single-step or multi-step fixed cutoff predictions.
  
      Parameters
      ----------
      fh : np.array
          all positive (> 0)
      X : pd.DataFrame
  
      Returns
      -------
      y_pred = pd.Series or pd.DataFrame
      """
      # assert all(fh > 0)
      y_pred = self._predict_last_window(fh, X=X, **kwargs)
      if isinstance(y_pred, pd.Series) or isinstance(
          y_pred, pd.DataFrame
      ):
          return y_pred
      else:
          index = fh.to_absolute_index(self.cutoff)
          return pd.Series(y_pred, index=index)
  
file_path: sktime/sktime/forecasting/base/_sktime.py
imports: import numpy
  import pandas
  from sktime.forecasting.base._base import BaseForecaster
  from sktime.split import CutoffSplitter
  from sktime.utils.datetime import _shift
label_desc: Use image node_id 4 for calling the _BaseWindowForecaster obj's underlying member method code with example usage: obj._predict_fixed_cutoff(fh, X) and returns: y_pred, pd