code: def rmp_rng(aryVls, varNewMin, varNewMax, varOldThrMin=None,
              varOldAbsMax=None):
      
      if varOldThrMin is None:
          varOldMin = aryVls.min()
      else:
          varOldMin = varOldThrMin
      if varOldAbsMax is None:
          varOldMax = aryVls.max()
      else:
          varOldMax = varOldAbsMax
  
      aryNewVls = np.empty((aryVls.shape), dtype=aryVls.dtype)
      for ind, val in enumerate(aryVls):
          aryNewVls[ind] = (((val - varOldMin) * (varNewMax - varNewMin)) /
                            (varOldMax - varOldMin)) + varNewMin
  
      return aryNewVls
docs: Remap values in an array from one range to another.
  
      Parameters
      ----------
      aryVls : 1D numpy array
          Array with values that need to be remapped.
      varNewMin : float
          Desired minimum value of new, remapped array.
      varNewMax : float
          Desired maximum value of new, remapped array.
      varOldThrMin : float
          Theoretical minimum of old distribution. Can be specified if this
          theoretical minimum does not occur in empirical distribution but
          should be considered nontheless.
      varOldThrMin : float
          Theoretical maximum of old distribution. Can be specified if this
          theoretical maximum does not occur in empirical distribution but
          should be considered nontheless.
  
      Returns
      -------
      aryVls : 1D numpy array
          Array with remapped values.