scipy.stats.mstats.gmean(a, axis=0, dtype=None)[source]

Compute the geometric mean along the specified axis.

Return the geometric average of the array elements. That is: n-th root of (x1 * x2 * ... * xn)


a : array_like

Input array or object that can be converted to an array.

axis : int or None, optional

Axis along which the geometric mean is computed. Default is 0. If None, compute over the whole array a.

dtype : dtype, optional

Type of the returned array and of the accumulator in which the elements are summed. If dtype is not specified, it defaults to the dtype of a, unless a has an integer dtype with a precision less than that of the default platform integer. In that case, the default platform integer is used.


gmean : ndarray

see dtype parameter above

See also

Arithmetic average
Weighted average
Harmonic mean


The geometric average is computed over a single dimension of the input array, axis=0 by default, or all values in the array if axis=None. float64 intermediate and return values are used for integer inputs.

Use masked arrays to ignore any non-finite values in the input or that arise in the calculations such as Not a Number and infinity because masked arrays automatically mask any non-finite values.


>>> from scipy.stats import gmean
>>> gmean([1, 4])
>>> gmean([1, 2, 3, 4, 5, 6, 7])