numpy.nancumsum#

numpy.nancumsum(a, ось=None, dtype=None, выход=None)[источник]#

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

Нули возвращаются для срезов, которые полностью состоят из NaN или пусты.

Параметры:
aarray_like

Входной массив.

осьint, необязательный

Ось, по которой вычисляется кумулятивная сумма. По умолчанию (None) вычисляется сумма по сглаженному массиву.

dtypedtype, опционально

Тип возвращаемого массива и аккумулятора, в котором суммируются элементы. Если dtype не указан, по умолчанию используется dtype a, если только a имеет целочисленный dtype с точностью меньше, чем у целого числа платформы по умолчанию. В этом случае используется целое число платформы по умолчанию.

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

Альтернативный выходной массив для размещения результата. Он должен иметь ту же форму и длину буфера, что и ожидаемый вывод, но тип будет приведён при необходимости. См. Определение типа вывода для более подробной информации.

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

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

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

numpy.cumsum

Кумулятивная сумма по массиву с распространением NaN.

isnan

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

Примеры

>>> import numpy as np
>>> np.nancumsum(1)
array([1])
>>> np.nancumsum([1])
array([1])
>>> np.nancumsum([1, np.nan])
array([1.,  1.])
>>> a = np.array([[1, 2], [3, np.nan]])
>>> np.nancumsum(a)
array([1.,  3.,  6.,  6.])
>>> np.nancumsum(a, axis=0)
array([[1.,  2.],
       [4.,  2.]])
>>> np.nancumsum(a, axis=1)
array([[1.,  3.],
       [3.,  3.]])