code: def first_location_of_maximum(x):
      
      if not isinstance(x, (np.ndarray, pd.Series)):
          x = np.asarray(x)
      return np.argmax(x) / len(x) if len(x) > 0 else np.NaN
docs: Returns the first location of the maximum value of x.
      The position is calculated relatively to the length of x.
  
      :param x: the time series to calculate the feature of
      :type x: numpy.ndarray
      :return: the value of this feature
      :return type: float