This documentation is for astroML version 0.2

This page


astroML Mailing List

GitHub Issue Tracker


Scipy 2012 (15 minute talk)

Scipy 2013 (20 minute talk)


If you use the software, please consider citing astroML.

11.6.5. astroML.stats.median_sigmaG

astroML.stats.median_sigmaG(a, axis=None, overwrite_input=False, keepdims=False)

Compute median and rank-based estimate of the standard deviation

Parameters :

a : array_like

Array containing numbers whose mean is desired. If a is not an array, a conversion is attempted.

axis : int, optional

Axis along which the means are computed. The default is to compute the mean of the flattened array.

overwrite_input : bool, optional

If True, then allow use of memory of input array a for calculations. The input array will be modified by the call to median. This will save memory when you do not need to preserve the contents of the input array. Treat the input as undefined, but it will probably be fully or partially sorted. Default is False. Note that, if overwrite_input is True and the input is not already an array, an error will be raised.

keepdims : bool, optional

If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original arr.

Returns :

median : ndarray, see dtype parameter above

array containing the median values

sigmaG : ndarray, see dtype parameter above.

array containing the robust estimator of the standard deviation

See also

non-robust version of this calculation
robust rank-based estimate of standard deviation


This routine uses a single call to np.percentile to find the quartiles along the given axis, and uses these to compute the median and sigmaG:

median = q50 sigmaG = (q75 - q25) * 0.7413

where 0.7413 ~ 1 / (2 sqrt(2) erf^-1(0.5))