code: def preprocess_stores(df, stores_df):
      # join data in df with stores df
      df = df.join(stores_df, on="Store", rsuffix="_right")
      df = df.drop(["Store_right"], axis=1)
  
      promo2_start_months = [
          (s.split(",") if not pd.isnull(s) else [])
          for s in df["PromoInterval"]
      ]
  
      for month_abbr in month_abbrs:
          df["Promo2Start_" + month_abbr] = np.array(
              [
                  (1 if month_abbr in s else 0)
                  for s in promo2_start_months
              ],
              dtype=np.int8,
          )
      df = df.drop(["PromoInterval"], axis=1)
  
      return df
  
file_path: ludwig/ludwig/datasets/loaders/rossman_store_sales.py
imports: import calendar
  import os
  from typing import List
  import numpy
  import pandas
  from ludwig.datasets.loaders.dataset_loader import DatasetLoader
label_desc: Use image node_id 2 for calling a global function with example usage: preprocess_stores(df, stores_df) and returns: df