astropy.stats.circmean(data, axis=None, weights=None)[source]

Computes the circular mean angle of an array of circular data.

datandarray or Quantity

Array of circular (directional) data, which is assumed to be in radians whenever data is numpy.ndarray.

axisint, optional

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

weightsnumpy.ndarray, optional

In case of grouped data, the i-th element of weights represents a weighting factor for each group such that sum(weights, axis) equals the number of observations. See [1], remark 1.4, page 22, for detailed explanation.

circmeanndarray or Quantity

Circular mean.



S. R. Jammalamadaka, A. SenGupta. “Topics in Circular Statistics”. Series on Multivariate Analysis, Vol. 5, 2001.


C. Agostinelli, U. Lund. “Circular Statistics from ‘Topics in Circular Statistics (2001)’”. 2015. <>


>>> import numpy as np
>>> from astropy.stats import circmean
>>> from astropy import units as u
>>> data = np.array([51, 67, 40, 109, 31, 358])*u.deg
>>> circmean(data) 
<Quantity 48.62718088722989 deg>