Spec-Zone.ru › NumPy 1.21

numpy.prod

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

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

Параметры
aarray_like

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

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

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

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

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

dtypedtype, необязательно

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

outndarray, необязательно

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

keepdimsbool, необязательно

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

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

initialскаляр, необязательно

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

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

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

Элементы, которые следует включить в произведение. Подробнее см. reduce.

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

Возвращает
product_along_axisndarray, см. параметр dtype выше.

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

См. также

ndarray.prod

эквивалентный метод

Определение типа результата

Примечания

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

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

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

Или выбрать конкретные элементы для включения:

>>> np.prod([1., np.nan, 3.], where=[True, False, True])
3.0

Если тип 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–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.prod.html

Spec-Zone.ru

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