code: def gen_FS_DF(df_output):
      
      df_day = pd.pivot_table(
          df_output,
          values=['T2', 'U10', 'Kdown', 'RH2'],
          index=['Year', 'Month', 'Day'],
          aggfunc=[min, max, np.mean, ])
      df_day_all_year = pd.pivot_table(
          df_output,
          values=['T2', 'U10', 'Kdown', 'RH2'],
          index=['Month', 'Day'],
          aggfunc=[min, max, np.mean, ])
  
      array_yr_mon = df_day.index.droplevel(
          'Day').to_frame().drop_duplicates().values
  
      df_fs = pd.DataFrame(
          {(yr, mon):
           (df_day.loc[(yr, mon)].apply(gen_score_ser) -
            df_day_all_year.loc[mon].apply(gen_score_ser)).abs().mean()
           for yr, mon in array_yr_mon})
  
      return df_fs
docs: generate DataFrame of scores.
  
      Parameters
      ----------
      df_WS_data : type
          Description of parameter `df_WS_data`.
  
      Returns
      -------
      type
          Description of returned object.