dask.array.ma.average — Dask documentation (original) (raw)
Return the weighted average of array over the given axis.
This docstring was copied from numpy.ma.average.
Some inconsistencies with the Dask version may exist.
import numpy as np
a = np.ma.array([1., 2., 3., 4.], mask=[False, False, True, True])
np.ma.average(a, weights=[3, 1, 0, 0])
1.25
x = np.ma.arange(6.).reshape(3, 2)
x
masked_array( data=[[0., 1.], [2., 3.], [4., 5.]], mask=False, fill_value=1e+20) data = np.arange(8).reshape((2, 2, 2))
data
array([[[0, 1], [2, 3]], [[4, 5], [6, 7]]]) np.ma.average(data, axis=(0, 1), weights=[[1./4, 3./4], [1., 1./2]])
masked_array(data=[3.4, 4.4], mask=[False, False], fill_value=1e+20) np.ma.average(data, axis=0, weights=[[1./4, 3./4], [1., 1./2]])
Traceback (most recent call last): ... ValueError: Shape of weights must be consistent with shape of a along specified axis.
avg, sumweights = np.ma.average(x, axis=0, weights=[1, 2, 3],
... returned=True) avg
masked_array(data=[2.6666666666666665, 3.6666666666666665], mask=[False, False], fill_value=1e+20)
With keepdims=True
, the following result has shape (3, 1).
np.ma.average(x, axis=1, keepdims=True)
masked_array( data=[[0.5], [2.5], [4.5]], mask=False, fill_value=1e+20)