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

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


data : numpy.ndarray or Quantity

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

axis : int, optional

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

weights : numpy.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 [R67], remark 1.4, page 22, for detailed explanation.


circmean : numpy.ndarray or Quantity

Circular mean.


[R67](1, 2) S. R. Jammalamadaka, A. SenGupta. “Topics in Circular Statistics”. Series on Multivariate Analysis, Vol. 5, 2001.
[R68]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>