code: def get_static_features(
      item_ids: List[Union[str, int]], feature_names: List[str]
  ):
      features = {}
      for idx, feat_name in enumerate(feature_names):
          if idx % 2 == 0:
              values = np.random.rand(len(item_ids))
          else:
              values = np.random.choice(
                  ["X", "Y", "Z", "1"], size=len(item_ids)
              ).astype(object)
          features[feat_name] = values
      df = pd.DataFrame(features, index=list(item_ids))
      df.index.name = ITEMID
      return df
  
file_path: autogluon/timeseries/tests/unittests/common.py
imports: import random
  from typing import Dict, List, Optional, Union
  import numpy
  import pandas
  from gluonts.dataset.common import ListDataset
  from autogluon.timeseries.dataset import TimeSeriesDataFrame
  from autogluon.timeseries.dataset.ts_dataframe import ITEMID, TIMESTAMP
  from autogluon.timeseries.metrics import TimeSeriesScorer
label_desc: Use image node_id 3 for calling a global function with example usage: get_static_features(item_ids, feature_names) and returns: df