code: def sample(cls, dataset, samples=[]):
          
          ndims = dataset.ndims
          dimensions = dataset.dimensions(label='name')
          arrays = [dataset.data[vdim.name] for vdim in dataset.vdims]
          data = defaultdict(list)
  
          for sample in samples:
              if np.isscalar(sample): sample = [sample]
              if len(sample) != ndims:
                  sample = [sample[i] if i < len(sample) else None
                            for i in range(ndims)]
              sampled, int_inds = [], []
              for d, ind in zip(dimensions, sample):
                  cdata = dataset.data[d]
                  mask = cls.key_select_mask(dataset, cdata, ind)
                  inds = np.arange(len(cdata)) if mask is None else np.argwhere(mask)
                  int_inds.append(inds)
                  sampled.append(cdata[mask])
              for d, arr in zip(dimensions, np.meshgrid(*sampled)):
                  data[d].append(arr)
              for vdim, array in zip(dataset.vdims, arrays):
                  da = dask_array_module()
                  flat_index = np.ravel_multi_index(tuple(int_inds)[::-1], array.shape)
                  if da and isinstance(array, da.Array):
                      data[vdim.name].append(array.flatten().vindex[tuple(flat_index)])
                  else:
                      data[vdim.name].append(array.flat[flat_index])
          concatenated = {d: np.concatenate(arrays).flatten() for d, arrays in data.items()}
          return concatenated
docs: Samples the gridded data into dataset of samples.