nansum(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)
In NumPy versions <= 1.9.0 Nan is returned for slices that are all-NaN or empty. In later versions zero is returned.
If both positive and negative infinity are present, the sum will be Not A Number (NaN).
Array containing numbers whose sum is desired. If a
is not an array, a conversion is attempted.
Axis or axes along which the sum is computed. The default is to compute the sum of the flattened array.
The type of the returned array and of the accumulator in which the elements are summed. By default, the dtype of a
is used. An exception is when a
has an integer type with less precision than the platform (u)intp. In that case, the default will be either (u)int32 or (u)int64 depending on whether the platform is 32 or 64 bits. For inexact inputs, dtype must be inexact.
Alternate output array in which to place the result. The default is None
. If provided, it must have the same shape as the expected output, but the type will be cast if necessary. See ufuncs-output-type
for more details. The casting of NaN to integer can yield unexpected results.
If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original a
.
If the value is anything but the default, then :None:None:`keepdims`
will be passed through to the mean
or sum
methods of sub-classes of ndarray
. If the sub-classes methods does not implement :None:None:`keepdims`
any exceptions will be raised.
Starting value for the sum. See :None:None:`~numpy.ufunc.reduce`
for details.
Elements to include in the sum. See :None:None:`~numpy.ufunc.reduce`
for details.
A new array holding the result is returned unless :None:None:`out`
is specified, in which it is returned. The result has the same size as a
, and the same shape as a
if :None:None:`axis`
is not None or a
is a 1-d array.
Return the sum of array elements over a given axis treating Not a Numbers (NaNs) as zero.
isfinite
Show which elements are not NaN or +/-inf.
isnan
Show which elements are NaN.
numpy.sum
Sum across array propagating NaNs.
>>> np.nansum(1) 1
>>> np.nansum([1]) 1
>>> np.nansum([1, np.nan]) 1.0
>>> a = np.array([[1, 1], [1, np.nan]])
... np.nansum(a) 3.0
>>> np.nansum(a, axis=0) array([2., 1.])
>>> np.nansum([1, np.nan, np.inf]) inf
>>> np.nansum([1, np.nan, np.NINF]) -inf
>>> from numpy.testing import suppress_warningsSee :
... with suppress_warnings() as sup:
... sup.filter(RuntimeWarning)
... np.nansum([1, np.nan, np.inf, -np.inf]) # both +/- infinity present nan
The following pages refer to to this document either explicitly or contain code examples using this.
numpy.lib.nanfunctions
dask.array.reductions.nansum
Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.
Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)
SVG is more flexible but power hungry; and does not scale well to 50 + nodes.
All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them