code: def value_to_quantile(original_value, quantiles):
      if original_value <= quantiles[0]:
          return 0.0
      if original_value >= quantiles[-1]:
          return 1.0
      n_quantiles = float(len(quantiles) - 1)
      right = np.searchsorted(quantiles, original_value)
      left = right - 1
      interpolated = (
          left
          + (
              (original_value - quantiles[left])
              / ((quantiles[right] + 1e-6) - quantiles[left])
          )
      ) / n_quantiles
      return interpolated
  
file_path: ReAgent/reagent/test/base/utils.py
imports: import collections
  import csv
  import numpy
  import six
  from reagent.preprocessing import identify_types
  from reagent.preprocessing.normalization import BOX_COX_MARGIN, MAX_FEATURE_VALUE, MIN_FEATURE_VALUE, MISSING_VALUE, NormalizationParameters
  from scipy import special, stats
label_desc: Use image node_id 1 for calling the NumpyFeatureProcessor obj's underlying member method code with example usage: obj.value_to_quantile(original_value, quantiles) and returns: interpolated, int, int