code: def df():
      data = generate_df_with_reg_for_tests(
          freq="H",
          periods=300 * 24,
          train_start_date=datetime.datetime(2018, 7, 1),
          remove_extra_cols=True,
          mask_test_actuals=True,
      )
      df = data["df"]
      time_col = NEW_TIME_COL
      value_col = NEW_VALUE_COL
      df.rename(
          {TIME_COL: time_col, VALUE_COL: value_col},
          axis=1,
          inplace=True,
      )
      regressor_cols = ["regressor1", "regressor2", "regressor_categ"]
      lagged_regressor_cols = ["regressor2", "regressor_bool"]
      keep_cols = [time_col, value_col] + unique_elements_in_list(
          regressor_cols + lagged_regressor_cols
      )
      return df[keep_cols]
  
imports: import dataclasses
  import datetime
  import pytest
  import sklearn
  from greykite.common.constants import TIME_COL
  from greykite.common.constants import VALUE_COL
  from greykite.common.enums import TimeEnum
  from greykite.common.evaluation import EvaluationMetricEnum
  from greykite.common.python_utils import assert_equal
  from greykite.common.python_utils import unique_elements_in_list
  from greykite.common.testing_utils import assert_eval_function_equal
  from greykite.common.testing_utils import generate_df_with_reg_for_tests
  from greykite.framework.templates.autogen.forecast_config import EvaluationMetricParam
  from greykite.framework.templates.autogen.forecast_config import EvaluationPeriodParam
  from greykite.framework.templates.autogen.forecast_config import ForecastConfig
  from greykite.framework.templates.autogen.forecast_config import MetadataParam
  from greykite.framework.templates.base_template import BaseTemplate
  from greykite.sklearn.estimator.silverkite_estimator import SilverkiteEstimator
label_desc: Use image node_id 1 for calling a global function with example usage: df() and returns: df