median_absolute_deviation¶
- astropy.stats.median_absolute_deviation(data, axis=None, func=None, ignore_nan=False)[source]¶
Calculate the median absolute deviation (MAD).
The MAD is defined as
median(abs(a - median(a)))
.- Parameters:
- datanumpy:array_like
Input array or object that can be converted to an array.
- axis
python:None
,python:int
, orpython:tuple
ofpython:int
, optional The axis or axes along which the MADs are computed. The default (
None
) is to compute the MAD of the flattened array.- func
python:callable()
, optional The function used to compute the median. Defaults to
numpy.ma.median
for masked arrays, otherwise tonumpy.median
.- ignore_nanbool
Ignore NaN values (treat them as if they are not in the array) when computing the median. This will use
numpy.ma.median
ifaxis
is specified, ornumpy.nanmedian
ifaxis==None
and numpy’s version is >1.10 because nanmedian is slightly faster in this case.
- Returns:
- mad
python:float
orndarray
The median absolute deviation of the input array. If
axis
isNone
then a scalar will be returned, otherwise andarray
will be returned.
- mad
See also
Examples
Generate random variates from a Gaussian distribution and return the median absolute deviation for that distribution:
>>> import numpy as np >>> from astropy.stats import median_absolute_deviation >>> rand = np.random.default_rng(12345) >>> from numpy.random import randn >>> mad = median_absolute_deviation(rand.standard_normal(1000)) >>> print(mad) 0.6829504282771885