Return the sum of the array elements over the given axis. Masked elements are set to 0 internally. Refer to `numpy.sum` for full documentation. See Also -------- numpy.ndarray.sum : corresponding function for ndarrays numpy.sum : equivalent
(self, axis=None, dtype=None, out=None, keepdims=np._NoValue)
| 5196 | return dot(self, b, out=out, strict=strict) |
| 5197 | |
| 5198 | def sum(self, axis=None, dtype=None, out=None, keepdims=np._NoValue): |
| 5199 | """ |
| 5200 | Return the sum of the array elements over the given axis. |
| 5201 | |
| 5202 | Masked elements are set to 0 internally. |
| 5203 | |
| 5204 | Refer to `numpy.sum` for full documentation. |
| 5205 | |
| 5206 | See Also |
| 5207 | -------- |
| 5208 | numpy.ndarray.sum : corresponding function for ndarrays |
| 5209 | numpy.sum : equivalent function |
| 5210 | |
| 5211 | Examples |
| 5212 | -------- |
| 5213 | >>> import numpy as np |
| 5214 | >>> x = np.ma.array([[1,2,3],[4,5,6],[7,8,9]], mask=[0] + [1,0]*4) |
| 5215 | >>> x |
| 5216 | masked_array( |
| 5217 | data=[[1, --, 3], |
| 5218 | [--, 5, --], |
| 5219 | [7, --, 9]], |
| 5220 | mask=[[False, True, False], |
| 5221 | [ True, False, True], |
| 5222 | [False, True, False]], |
| 5223 | fill_value=999999) |
| 5224 | >>> x.sum() |
| 5225 | 25 |
| 5226 | >>> x.sum(axis=1) |
| 5227 | masked_array(data=[4, 5, 16], |
| 5228 | mask=[False, False, False], |
| 5229 | fill_value=999999) |
| 5230 | >>> x.sum(axis=0) |
| 5231 | masked_array(data=[8, 5, 12], |
| 5232 | mask=[False, False, False], |
| 5233 | fill_value=999999) |
| 5234 | >>> print(type(x.sum(axis=0, dtype=np.int64)[0])) |
| 5235 | <class 'numpy.int64'> |
| 5236 | |
| 5237 | """ |
| 5238 | kwargs = {} if keepdims is np._NoValue else {'keepdims': keepdims} |
| 5239 | |
| 5240 | _mask = self._mask |
| 5241 | newmask = _check_mask_axis(_mask, axis, **kwargs) |
| 5242 | # No explicit output |
| 5243 | if out is None: |
| 5244 | result = self.filled(0).sum(axis, dtype=dtype, **kwargs) |
| 5245 | rndim = getattr(result, 'ndim', 0) |
| 5246 | if rndim: |
| 5247 | result = result.view(type(self)) |
| 5248 | result.__setmask__(newmask) |
| 5249 | elif newmask: |
| 5250 | result = masked |
| 5251 | return result |
| 5252 | # Explicit output |
| 5253 | result = self.filled(0).sum(axis, dtype=dtype, out=out, **kwargs) |
| 5254 | if isinstance(out, MaskedArray): |
| 5255 | outmask = getmask(out) |