numpy.cumulative_prod#
- numpy.cumulative_prod(x, /, *, ось=None, dtype=None, выход=None, include_initial=False)[источник]#
Возвращает кумулятивное произведение элементов вдоль заданной оси.
Эта функция является совместимой с Array API альтернативой
numpy.cumprod.- Параметры:
- xarray_like
Входной массив.
- осьint, необязательный
Ось, по которой вычисляется кумулятивное произведение. По умолчанию (None) разрешено только для одномерных массивов. Для массивов с более чем одним измерением
axisтребуется.- dtypedtype, опционально
Тип возвращаемого массива, а также аккумулятора, в котором элементы умножаются. Если
dtypeне указан, он по умолчанию принимает dtypex, если толькоxимеет целочисленный dtype с точностью меньше, чем у целого числа по умолчанию на платформе. В этом случае вместо него используется целое число по умолчанию на платформе.- выходndarray, необязательно
Альтернативный выходной массив для размещения результата. Он должен иметь ту же форму и длину буфера, что и ожидаемый вывод, но тип результирующих значений будет приведён при необходимости. См. Определение типа вывода для получения дополнительной информации.
- include_initialbool, необязательно
Логический флаг, указывающий, включать ли начальное значение (единицы) как первое значение в выводе. С
include_initial=Trueформа выхода отличается от формы входа. По умолчанию:False.
- Возвращает:
- cumulative_prod_along_axisndarray
Новый массив с результатом возвращается, если только
outуказан, в этом случае ссылка наoutвозвращается. Результат имеет ту же форму, что иxifinclude_initial=False.
Примечания
Арифметика является модульной при использовании целочисленных типов, и при переполнении ошибка не возникает.
Примеры
>>> a = np.array([1, 2, 3]) >>> np.cumulative_prod(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.cumulative_prod(a, dtype=float) # specify type of output array([ 1., 2., 6., 24., 120., 720.])
Кумулятивное произведение для каждого столбца (т.е., по строкам) из
b:>>> b = np.array([[1, 2, 3], [4, 5, 6]]) >>> np.cumulative_prod(b, axis=0) array([[ 1, 2, 3], [ 4, 10, 18]])
Кумулятивное произведение для каждой строки (т.е. по столбцам) массива
b:>>> np.cumulative_prod(b, axis=1) array([[ 1, 2, 6], [ 4, 20, 120]])