#### Previous topic

scipy.signal.argrelmax

#### Next topic

scipy.signal.periodogram

# scipy.signal.argrelextrema

`scipy.signal.``argrelextrema`(data, comparator, axis=0, order=1, mode='clip')

  Calculate the relative extrema of data.

  Parameters: | data : ndarray Array in which to find the relative extrema. comparator : callable Function to use to compare two data points. Should take two arrays as arguments. axis : int, optional Axis over which to select from data. Default is 0. order : int, optional How many points on each side to use for the comparison to consider `comparator(n, n+x)` to be True. mode : str, optional How the edges of the vector are treated. ‘wrap’ (wrap around) or ‘clip’ (treat overflow as the same as the last (or first) element). Default is ‘clip’. See `numpy.take`.
  Returns: | extrema : tuple of ndarrays Indices of the maxima in arrays of integers. `extrema[k]` is the array of indices of axis k of data. Note that the return value is a tuple even when data is one-dimensional.

  See also

  `argrelmin`, `argrelmax`

  Notes

  New in version 0.11.0.

  Examples

      >>> from scipy.signal import argrelextrema
      >>> x = np.array([2, 1, 2, 3, 2, 0, 1, 0])
      >>> argrelextrema(x, np.greater)
      (array([3, 6]),)
      >>> y = np.array([[1, 2, 1, 2],
      ...               [2, 2, 0, 0],
      ...               [5, 3, 4, 4]])
      ...
      >>> argrelextrema(y, np.less, axis=1)
      (array([0, 2]), array([2, 1]))