code: def index_mass_quantile(x, param):
      
  
      x = np.asarray(x)
      abs_x = np.abs(x)
      s = sum(abs_x)
  
      if s == 0:
          # all values in x are zero or it has length 0
          return [("q_{}".format(config["q"]), np.NaN) for config in param]
      else:
          # at least one value is not zero
          mass_centralized = np.cumsum(abs_x) / s
          return [("q_{}".format(config["q"]),
                  (np.argmax(mass_centralized >= config["q"])+1)/len(x)) for config in param]
docs: Those apply features calculate the relative index i where q% of the mass of the time series x lie left of i.
      For example for q = 50% this feature calculator will return the mass center of the time series
  
      :param x: the time series to calculate the feature of
      :type x: numpy.ndarray
      :param param: contains dictionaries {"q": x} with x float
      :type param: list
      :return: the different feature values
      :return type: pandas.Series