code: def _data_to_hist(self, data, **kwargs):
          
          if hasattr(self, 'bin_edges'):
              kwargs.setdefault('bins', self.bin_edges)
  
          if len(data) == 1 and isinstance(data[0], COLUMNAR_DATA_SOURCES):
              data = data[0]
  
              if self.axis_names is None:
                  raise ValueError("When histogramming from a columnar data source, "
                                   "axis_names or dimensions is mandatory")
              is_dask = False
              if WE_HAVE_DASK:
                  is_dask = isinstance(data, dask.dataframe.DataFrame)
  
              if is_dask:
                  fake_histogram = Histdd(axis_names=self.axis_names, bins=kwargs['bins'])
  
                  partial_hists = []
                  for partition in data.to_delayed():
                      ph = dask.delayed(Histdd)(partition, axis_names=self.axis_names, bins=kwargs['bins'])
                      ph = dask.delayed(lambda x: x.histogram)(ph)
                      ph = dask.array.from_delayed(ph,
                                                   shape=fake_histogram.histogram.shape,
                                                   dtype=fake_histogram.histogram.dtype)
                      partial_hists.append(ph)
                  partial_hists = dask.array.stack(partial_hists, axis=0)
  
                  compute_options = kwargs.get('compute_options', {})
                  for k, v in DEFAULT_DASK_COMPUTE_KWARGS.items():
                      compute_options.setdefault(k, v)
                  histogram = partial_hists.sum(axis=0).compute(**compute_options)
  
                  bin_edges = fake_histogram.bin_edges
                  return histogram, bin_edges
  
              else:
                  data = np.vstack([data[x].values for x in self.axis_names])
  
          data = np.array(data).T
          return np.histogramdd(data,
                                bins=kwargs.get('bins'),
                                weights=kwargs.get('weights'),
                                range=kwargs.get('range'))
docs: Return bin_edges, histogram array