code: def continuous_partition_data(data, bins='auto', n_bins=10):
      
      if bins == 'uniform':
          bins = np.linspace(start=np.min(data), stop=np.max(data), num=n_bins+1)
      elif bins == 'ntile':
          bins = np.percentile(data, np.linspace(
              start=0, stop=100, num=n_bins+1))
      elif bins != 'auto':
          raise ValueError("Invalid parameter for bins argument")
  
      hist, bin_edges = np.histogram(data, bins, density=False)
  
      return {
          "bins": bin_edges,
          "weights": hist / len(data)
      }
docs: Convenience method for building a partition object on continuous data
  
      Args:
          data (list-like): The data from which to construct the estimate.
          bins (string): One of 'uniform' (for uniformly spaced bins), 'ntile' (for percentile-spaced bins), or 'auto' (for automatically spaced bins)
          n_bins (int): Ignored if bins is auto.
  
      Returns:
          A new partition_object::
  
          {
              "bins": (list) The endpoints of the partial partition of reals,
              "weights": (list) The densities of the bins implied by the partition.
          }