numpy.nancumprod#

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

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

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

Параметры:
aarray_like

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

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

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

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

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

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

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

Возвращает:
nancumprodndarray

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

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

numpy.cumprod

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

isnan

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

Примеры

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