numpy.cumprod#

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

Возвращает кумулятивное произведение элементов вдоль заданной оси.

Параметры:
aarray_like

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

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

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

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

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

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

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

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

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

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

cumulative_prod

Совместимая альтернатива Array API для cumprod.

Определение типа вывода

Примечания

Арифметика является модульной при использовании целочисленных типов, и при переполнении ошибка не возникает.

Примеры

>>> import numpy as np
>>> a = np.array([1,2,3])
>>> np.cumprod(a) # intermediate results 1, 1*2
...               # total product 1*2*3 = 6
array([1, 2, 6])
>>> a = np.array([[1, 2, 3], [4, 5, 6]])
>>> np.cumprod(a, dtype=float) # specify type of output
array([   1.,    2.,    6.,   24.,  120.,  720.])

Кумулятивное произведение для каждого столбца (т.е., по строкам) из a:

>>> np.cumprod(a, axis=0)
array([[ 1,  2,  3],
       [ 4, 10, 18]])

Кумулятивное произведение для каждой строки (т.е. по столбцам) массива a:

>>> np.cumprod(a,axis=1)
array([[  1,   2,   6],
       [  4,  20, 120]])