scipy.stats.circvar

scipy.stats.circvar(samples, high=6.283185307179586, low=0, axis=None, nan_policy='propagate')[source]

Compute the circular variance for samples assumed to be in a range.

Parameters
samplesarray_like

Input array.

highfloat or int, optional

High boundary for circular variance range. Default is 2*pi.

lowfloat or int, optional

Low boundary for circular variance range. Default is 0.

axisint, optional

Axis along which variances are computed. The default is to compute the variance of the flattened array.

nan_policy{‘propagate’, ‘raise’, ‘omit’}, optional

Defines how to handle when input contains nan. ‘propagate’ returns nan, ‘raise’ throws an error, ‘omit’ performs the calculations ignoring nan values. Default is ‘propagate’.

Returns
circvarfloat

Circular variance.

Notes

This uses a definition of circular variance that in the limit of small angles returns a number close to the ‘linear’ variance.

Examples

>>> from scipy.stats import circvar
>>> circvar([0, 2*np.pi/3, 5*np.pi/3])
2.19722457734