code: def get_hdd_only_candidate_models(
      data, minimum_non_zero_hdd, minimum_total_hdd, beta_hdd_maximum_p_value, weights_col
  ):
      
  
      balance_points = [int(col[4:]) for col in data.columns if col.startswith("hdd")]
  
      candidate_models = [
          get_single_hdd_only_candidate_model(
              data,
              minimum_non_zero_hdd,
              minimum_total_hdd,
              beta_hdd_maximum_p_value,
              weights_col,
              balance_point,
          )
          for balance_point in balance_points
      ]
      return candidate_models
docs: Parameters
      ----------
      data : :any:`pandas.DataFrame`
          A DataFrame containing at least the column ``meter_value`` and 1 to n
          columns with names of the form ``hdd_<balance_point>``. All columns
          with names of this form will be used to fit a candidate model.
          DataFrames of this form can be made using the
          :any:`eemeter.create_caltrack_daily_design_matrix` or
          :any:`eemeter.create_caltrack_billing_design_matrix` methods.
      minimum_non_zero_hdd : :any:`int`
          Minimum allowable number of non-zero heating degree day values.
      minimum_total_hdd : :any:`float`
          Minimum allowable total sum of heating degree day values.
      beta_hdd_maximum_p_value : :any:`float`
          The maximum allowable p-value of the beta hdd parameter.
      weights_col : :any:`str` or None
          The name of the column (if any) in ``data`` to use as weights.
  
      Returns
      -------
      candidate_models : :any:`list` of :any:`CalTRACKUsagePerDayCandidateModel`
          A list of hdd-only candidate models, with any associated warnings.