code: def zip_clusters_and_values(clusters, values):
      """
      Combine cluster indices in <clusters> (as returned from find_clusters_1d_break_dist) with the respective values
      in <values>.
      Return list of tuples, each tuple representing a cluster and containing two NumPy arrays:
      1. cluster indices into <values>, 2. values of this cluster
      """
      if type(values) is not np.ndarray:
          raise TypeError("values must be a NumPy array")
  
      clusters_w_vals = []
      for c_ind in clusters:
          c_vals = values[c_ind]
          clusters_w_vals.append((c_ind, c_vals))
  
      return clusters_w_vals
  
file_path: pdftabextract/pdftabextract/clustering.py
imports: import itertools
  import numpy
  from scipy.stats import chisquare
  from pdftabextract import logger
  from pdftabextract.common import fill_array_a_with_values_from_b, sorted_by_attr, flatten_list, update_text_dict_dim, DIRECTION_HORIZONTAL, DIRECTION_VERTICAL
label_desc: Use image node_id 8 for calling a global function with example usage: zip_clusters_and_values(clusters, values) and returns: clusters_w_vals