summaryrefslogtreecommitdiff
path: root/numpy/ma/extras.py
diff options
context:
space:
mode:
authorSrimukh Sripada <git@srimukh.com>2022-06-27 05:06:00 +0200
committerGitHub <noreply@github.com>2022-06-26 23:06:00 -0400
commite67fe9f1a86013dbfd4a5ad2bd69aa6e7f60e1fb (patch)
treec63192e3b1c5eeede2bd042f4531f44568256d5e /numpy/ma/extras.py
parentb65f0b7b8ba7e80b65773e06aae22a8369678868 (diff)
downloadnumpy-e67fe9f1a86013dbfd4a5ad2bd69aa6e7f60e1fb.tar.gz
BUG: Use `keepdims` during normalization in `np.average` and `np.ma.average` (#21851)
The keepdims flag needs to be applied during the calculation of the sum of the weights in np.average and np.ma.average. Not passing it causes weights to broadcast incorrectly. Fixes #21850
Diffstat (limited to 'numpy/ma/extras.py')
-rw-r--r--numpy/ma/extras.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/numpy/ma/extras.py b/numpy/ma/extras.py
index d90831b9b..d2986012b 100644
--- a/numpy/ma/extras.py
+++ b/numpy/ma/extras.py
@@ -645,7 +645,7 @@ def average(a, axis=None, weights=None, returned=False, *,
wgt = wgt*(~a.mask)
wgt.mask |= a.mask
- scl = wgt.sum(axis=axis, dtype=result_dtype)
+ scl = wgt.sum(axis=axis, dtype=result_dtype, **keepdims_kw)
avg = np.multiply(a, wgt,
dtype=result_dtype).sum(axis, **keepdims_kw) / scl