code: def binning(keys, start, end, count, axes=None):
      
      if isinstance(keys, tuple):
          n_keys = len(keys)
      else:
          n_keys = 1
  
      bins = np.linspace(start, end, count+1, endpoint=True)
      idx = np.searchsorted(bins, keys)
      if axes is None:
          axes = [-1]
docs: Perform binning over the given axes of the keys
  
      Parameters
      ----------
      keys : indexable or tuple of indexable
  
      Examples
      --------
      binning(np.random.rand(100), 0, 1, 10)