Spec-Zone.ru › NumPy 1.10

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.

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

dtype : тип данных, необязательно

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

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

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

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

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

Возвращает:

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.10.1/reference/generated/numpy.prod.html

Spec-Zone.ru

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