scipy.signal.detrend#
- scipy.signal.detrend(data, axis=-1, type='linear', bp=0, overwrite_data=False)[source]#
 Remove linear trend along axis from data.
- Parameters:
 - dataarray_like
 The input data.
- axisint, optional
 The axis along which to detrend the data. By default this is the last axis (-1).
- type{‘linear’, ‘constant’}, optional
 The type of detrending. If
type == 'linear'(default), the result of a linear least-squares fit to data is subtracted from data. Iftype == 'constant', only the mean of data is subtracted.- bparray_like of ints, optional
 A sequence of break points. If given, an individual linear fit is performed for each part of data between two break points. Break points are specified as indices into data. This parameter only has an effect when
type == 'linear'.- overwrite_databool, optional
 If True, perform in place detrending and avoid a copy. Default is False
- Returns:
 - retndarray
 The detrended input data.
Examples
>>> import numpy as np >>> from scipy import signal >>> rng = np.random.default_rng() >>> npoints = 1000 >>> noise = rng.standard_normal(npoints) >>> x = 3 + 2*np.linspace(0, 1, npoints) + noise >>> (signal.detrend(x) - noise).max() 0.06 # random