Spec-Zone.ru › NumPy 1.15

numpy.prod

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

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

Параметры:
a : array_like

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

axis : None or int or tuple of ints, optional

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

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

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

dtype : dtype, optional

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

out : ndarray, optional

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

keepdims : bool, optional

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

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

initial : scalar, optional

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

Новая в версии 1.15.0.

Возвращает:
product_along_axis : ndarray, see dtype parameter above.

Массив, форма которого 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

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

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

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

Spec-Zone.ru

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