code: def _histogram_digitize(a, w, edges, normed):
      
      weighted = w is not None
      nbin = edges.shape[0] + 1
      if weighted:
          count = zeros(nbin, dtype=w.dtype)
          if normed:
              count = zeros(nbin, dtype=float)
              w = w / w.mean()
      else:
          count = zeros(nbin, int)
  
      binindex = digitize(a, edges)
  
      # Count the number of identical indices.
      flatcount = bincount(binindex, w)
  
      # Place the count in the histogram array.
      count[:len(flatcount)] = flatcount
  
      return count
docs: Internal routine to compute the 1d weighted histogram for uneven bins.
      a: sample
      w: weights
      edges: bin edges
      weighted: Means that the weights are appended to array a.
      Return the bin count or frequency if normed.