Spec-Zone.ru › NumPy 1.18

numpy.prod

numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>) [source]

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

Параметры
aarray_like

Входные данные.

axisNone or int or tuple of ints, optional

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

Введено в версии 1.7.0.

Если axis — кортеж целых чисел, произведение выполняется по всем осям, указанным в кортеже, а не по одной оси или всем осям, как раньше.

dtypedtype, optional

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

outndarray, optional

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

keepdimsbool, optional

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

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

initialscalar, optional

Начальное значение для этого произведения. См. reduce для подробностей.

Введено в версии 1.15.0.

wherearray_like of bool, optional

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

Введено в версии 1.17.0.

Возвращает
product_along_axisndarray, see dtype parameter above.

Массив формы a, но с удаленной указанной осью. Возвращает ссылку на out, если указан.

См. также

ndarray.prod

эквивалентный метод

ufuncs-output-type

Заметки

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

>>> x = np.array([536870910, 536870910, 536870910, 536870910])
>>> np.prod(x)
16 # may vary

Произведение пустого массива — это нейтральный элемент 1:

>>> np.prod([])
1.0

Примеры

По умолчанию, вычисляется произведение всех элементов:

>>> np.prod([1.,2.])
2.0

Даже когда входной массив двумерный:

>>> np.prod([[1.,2.],[3.,4.]])
24.0

Но мы также можем указать ось, по которой выполнять умножение:

>>> np.prod([[1.,2.],[3.,4.]], axis=1)
array([  2.,  12.])

Или выбрать конкретные элементы для включения:

>>> np.prod([1., np.nan, 3.], where=[True, False, True])
3.0

Если тип x без знака, то тип выходных данных — беззнаковый целочисленный тип платформы:

>>> x = np.array([1, 2, 3], dtype=np.uint8)
>>> np.prod(x).dtype == np.uint
True

Если x со знаком, то тип выходных данных — целочисленный тип данных платформы по умолчанию:

>>> x = np.array([1, 2, 3], dtype=np.int8)
>>> np.prod(x).dtype == int
True

Также можно начать произведение со значения, отличного от единицы:

>>> np.prod([1, 2], initial=5)
10

© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.prod.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API