Spec-Zone.ru › NumPy 1.11

numpy.prod

numpy.prod(a, axis=None, dtype=None, out=None, keepdims=False) [source]

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

Параметры:

a : array_like

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

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

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

Новое в версии 1.7.0.

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

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

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

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

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

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

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

Возвращает:

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–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.prod.html

Spec-Zone.ru

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