code: def percentage_of_reoccurring_values_to_all_values(x):
      
      if not isinstance(x, pd.Series):
          x = pd.Series(x)
  
      if x.size == 0:
          return np.nan
  
      value_counts = x.value_counts()
      reoccuring_values = value_counts[value_counts > 1].sum()
  
      if np.isnan(reoccuring_values):
          return 0
  
      return reoccuring_values / x.size
docs: Returns the ratio of unique values, that are present in the time series
      more than once.
  
          # of data points occurring more than once / # of all data points
  
      This means the ratio is normalized to the number of data points in the time series,
      in contrast to the percentage_of_reoccurring_datapoints_to_all_datapoints.
  
      :param x: the time series to calculate the feature of
      :type x: numpy.ndarray
      :return: the value of this feature
      :return type: float