code: def _most_frequent(array, extra_value, n_repeat):
      
      # Compute the most frequent value in array only
      if array.size > 0:
          with warnings.catch_warnings():
              # stats.mode raises a warning when input array contains objects due
              # to incapacity to detect NaNs. Irrelevant here since input array
              # has already been NaN-masked.
              warnings.simplefilter("ignore", RuntimeWarning)
              mode = stats.mode(array)
  
          most_frequent_value = mode[0][0]
          most_frequent_count = mode[1][0]
      else:
          most_frequent_value = 0
          most_frequent_count = 0
  
      # Compare to array + [extra_value] * n_repeat
      if most_frequent_count == 0 and n_repeat == 0:
          return np.nan
      elif most_frequent_count < n_repeat:
          return extra_value
      elif most_frequent_count > n_repeat:
          return most_frequent_value
      elif most_frequent_count == n_repeat:
          # Ties the breaks. Copy the behaviour of scipy.stats.mode
          if most_frequent_value < extra_value:
              return most_frequent_value
          else:
              return extra_value
docs: Compute the most frequent value in a 1d array extended with
         [extra_value] * n_repeat, where extra_value is assumed to be not part
         of the array.