Spec-Zone.ru › NumPy 1.14

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 == int
True

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

Spec-Zone.ru

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