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)
| 5128 | return dot(self, b, out=out, strict=strict) |
| 5129 | |
| 5130 | def sum(self, axis=None, dtype=None, out=None, keepdims=np._NoValue): |
| 5131 | """ |
| 5132 | Return the sum of the array elements over the given axis. |
| 5133 | |
| 5134 | Masked elements are set to 0 internally. |
| 5135 | |
| 5136 | Refer to `numpy.sum` for full documentation. |
| 5137 | |
| 5138 | See Also |
| 5139 | -------- |
| 5140 | numpy.ndarray.sum : corresponding function for ndarrays |
| 5141 | numpy.sum : equivalent function |
| 5142 | |
| 5143 | Examples |
| 5144 | -------- |
| 5145 | >>> x = np.ma.array([[1,2,3],[4,5,6],[7,8,9]], mask=[0] + [1,0]*4) |
| 5146 | >>> x |
| 5147 | masked_array( |
| 5148 | data=[[1, --, 3], |
| 5149 | [--, 5, --], |
| 5150 | [7, --, 9]], |
| 5151 | mask=[[False, True, False], |
| 5152 | [ True, False, True], |
| 5153 | [False, True, False]], |
| 5154 | fill_value=999999) |
| 5155 | >>> x.sum() |
| 5156 | 25 |
| 5157 | >>> x.sum(axis=1) |
| 5158 | masked_array(data=[4, 5, 16], |
| 5159 | mask=[False, False, False], |
| 5160 | fill_value=999999) |
| 5161 | >>> x.sum(axis=0) |
| 5162 | masked_array(data=[8, 5, 12], |
| 5163 | mask=[False, False, False], |
| 5164 | fill_value=999999) |
| 5165 | >>> print(type(x.sum(axis=0, dtype=np.int64)[0])) |
| 5166 | <class 'numpy.int64'> |
| 5167 | |
| 5168 | """ |
| 5169 | kwargs = {} if keepdims is np._NoValue else {'keepdims': keepdims} |
| 5170 | |
| 5171 | _mask = self._mask |
| 5172 | newmask = _check_mask_axis(_mask, axis, **kwargs) |
| 5173 | # No explicit output |
| 5174 | if out is None: |
| 5175 | result = self.filled(0).sum(axis, dtype=dtype, **kwargs) |
| 5176 | rndim = getattr(result, 'ndim', 0) |
| 5177 | if rndim: |
| 5178 | result = result.view(type(self)) |
| 5179 | result.__setmask__(newmask) |
| 5180 | elif newmask: |
| 5181 | result = masked |
| 5182 | return result |
| 5183 | # Explicit output |
| 5184 | result = self.filled(0).sum(axis, dtype=dtype, out=out, **kwargs) |
| 5185 | if isinstance(out, MaskedArray): |
| 5186 | outmask = getmask(out) |
| 5187 | if outmask is nomask: |