Spec-Zone.ru › NumPy 1.13

numpy.prod

numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<class numpy._globals._NoValue>) [source]

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

Параметры:

a : array_like

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

axis : None или int или кортеж из целых чисел, необязательно

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

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

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

dtype : dtype, необязательно

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

out : ndarray, необязательно

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

keepdims : bool, необязательно

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

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

Возвращает:

product_along_axis : ndarray, см. параметр dtype выше.

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

См. также

ndarray.prod
эквивалентный метод
numpy.doc.ufuncs
Раздел «Аргументы вывода»

Примечания

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

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

Произведение пустого массива — нейтральный элемент 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.])

Если тип 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 == np.int
True

© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.prod.html

Spec-Zone.ru

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