def get_perturbation(ts, axis=-1):
    r"""Compute the perturbation from the mean of a time series.

    Parameters
    ----------
    ts : array_like
         The time series from which you wish to find the perturbation
         time series (perturbation from the mean).

    Returns
    -------
    array_like
        The perturbation time series.

    Other Parameters
    ----------------
    axis : int
           The index of the time axis. Default is -1

    Notes
    -----
    The perturbation time series produced by this function is defined as
    the perturbations about the mean:

    .. math:: x(t)^{\prime} = x(t) - \overline{x(t)}

    """
    slices = [slice(None)] * ts.ndim
    slices[axis] = None
    mean = ts.mean(axis=axis)[tuple(slices)]
    return ts - mean
r"""Compute the perturbation from the mean of a time series.

    Parameters
    ----------
    ts : array_like
         The time series from which you wish to find the perturbation
         time series (perturbation from the mean).

    Returns
    -------
    array_like
        The perturbation time series.

    Other Parameters
    ----------------
    axis : int
           The index of the time axis. Default is -1

    Notes
    -----
    The perturbation time series produced by this function is defined as
    the perturbations about the mean:

    .. math:: x(t)^{\prime} = x(t) - \overline{x(t)}