numpy.nansum#

numpy.nansum(a, axis=None, dtype=None, out=None, keepdims= значение>, initial=<нет значение>, where= значение>)[источник]#

Возвращает сумму элементов массива по заданной оси, рассматривая Not a Numbers (NaN) как нули.

В версиях NumPy <= 1.9.0 Nan возвращается для срезов, которые полностью состоят из NaN или пусты. В более поздних версиях возвращается ноль.

Параметры:
aarray_like

Массив, содержащий числа, сумму которых требуется найти. Если a не является массивом, выполняется попытка преобразования.

ось{int, tuple of int, None}, optional

Ось или оси, вдоль которых вычисляется сумма. По умолчанию вычисляется сумма сведенного массива.

dtypeтип данных, опционально

Тип возвращаемого массива и аккумулятора, в котором суммируются элементы. По умолчанию, dtype a используется. Исключение, когда a имеет целочисленный тип с меньшей точностью, чем платформенный (u)intp. В этом случае по умолчанию будет либо (u)int32, либо (u)int64 в зависимости от того, является ли платформа 32- или 64-битной. Для неточных входных данных dtype должен быть неточным.

выходndarray, необязательно

Альтернативный выходной массив для размещения результата. По умолчанию это None. Если предоставлен, он должен иметь ту же форму, что и ожидаемый вывод, но тип будет приведен при необходимости. См. Определение типа вывода для подробностей. Приведение NaN к целому числу может давать неожиданные результаты.

keepdimsbool, необязательно

Если установлено значение True, оси, которые были сокращены, остаются в результате как измерения с размером один. С этой опцией результат будет корректно транслироваться против исходного a.

Если значение отличается от значения по умолчанию, то keepdims будет передан в mean или sum методы подклассов ndarray. Если методы подклассов не реализуют keepdims любые исключения будут вызваны.

начальныйскаляр, опционально

Начальное значение для суммы. См. reduce подробности.

Новое в версии 1.22.0.

гдеarray_like из bool, необязательный

Элементы для включения в сумму. См. reduce подробности.

Новое в версии 1.22.0.

Возвращает:
nansumndarray.

Новый массив с результатом возвращается, если только выход указан, в этом случае он возвращается. Результат имеет тот же размер, что и a, и той же формы, что и a if ось не равно None или a является одномерным массивом.

Смотрите также

numpy.sum

Суммирование по массиву с распространением NaN.

isnan

Показать, какие элементы являются NaN.

isfinite

Показать, какие элементы не являются NaN или +/-inf.

Примечания

Если присутствуют как положительная, так и отрицательная бесконечность, сумма будет Not A Number (NaN).

Примеры

>>> import numpy as np
>>> 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.inf])
-inf
>>> with np.errstate(invalid="ignore"):
...     np.nansum([1, np.nan, np.inf, -np.inf]) # both +/- infinity present
np.float64(nan)