class_docstr: Base class for interfacing prophet and neuralprophet.
class_docstr_tok: ["Base","class","for","interfacing","prophet","and","neuralprophet","."]
docstr: Forecast time series at future horizon.
  
  Parameters
  ----------
  fh : array-like
      The forecasters horizon with the steps ahead to to predict.
      Default is
      one-step ahead forecast, i.e. np.array([1]).
  X : pd.DataFrame, optional
      Exogenous data, by default None
  
  Returns
  -------
  y_pred : pandas.Series
      Returns series of predicted values.
  
  Raises
  ------
  Exception
      Error when merging data
docstr_tok: ["Forecast","time","series","at","future","horizon",".","Parameters","--","--","--","--","--","fh",":","array-like","The","forecasters","horizon","with","the","steps","ahead","to","to","predict",".","Default","is","one-step","ahead","forecast",",","i.e",".","np.array","(","[","1","]",")",".","X",":","pd.DataFrame",",","optional","Exogenous","data",",","by","default","None","Returns","--","--","--","-","y_pred",":","pandas.Series","Returns","series","of","predicted","values",".","Raises","--","--","--","Exception","Error","when","merging","data"]
code: def _predict(self, fh=None, X=None):
      """Forecast time series at future horizon.
  
      Parameters
      ----------
      fh : array-like
          The forecasters horizon with the steps ahead to to predict.
          Default is
          one-step ahead forecast, i.e. np.array([1]).
      X : pd.DataFrame, optional
          Exogenous data, by default None
  
      Returns
      -------
      y_pred : pandas.Series
          Returns series of predicted values.
  
      Raises
      ------
      Exception
          Error when merging data
      """
      fh = self._get_prophet_fh()
      df = pd.DataFrame({"ds": fh}, index=fh)
  
      X = self._convert_X_for_exog(X, fh)
  
      # Merge X with df (of created future DatetimeIndex values)
      if X is not None:
          df, X = _merge_X(df, X)
  
      if self.growth == "logistic":
          df["cap"] = self.growth_cap
          df["floor"] = self.growth_floor
  
      out = self._forecaster.predict(df)
  
      out.set_index("ds", inplace=True)
      y_pred = out.loc[:, "yhat"]
  
      # bring outputs into required format
      # same column names as training data, index should be index, not "ds"
      y_pred = pd.DataFrame(y_pred)
      y_pred.reset_index(inplace=True)
      y_pred.index = y_pred["ds"].values
      y_pred.drop("ds", axis=1, inplace=True)
      y_pred.columns = self._y.columns
  
      if self.y_index_was_int_ or self.y_index_was_period_:
          y_pred.index = self.fh.to_absolute_index(cutoff=self.cutoff)
  
      return y_pred
  
imports: import os
  import pandas
  from sktime.forecasting.base import BaseForecaster
label_desc: Use image node_id 7 for calling the _ProphetAdapter obj's underlying member method code with example usage: obj._predict(fh, X) and returns: y_pred