numpy.prod#

numpy.prod(a, axis=None, dtype=None, out=None, keepdims= значение>, initial=<нет значение>, where= значение>)[источник]#

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

Параметры:
aarray_like

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

осьNone или int или кортеж ints, опционально

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

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

dtypedtype, опционально

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

выходndarray, необязательно

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

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

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

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

начальныйскаляр, опционально

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

гдеarray_like из bool, необязательный

Элементы для включения в произведение. См. reduce подробности.

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

Массив формы a но с удалённой указанной осью. Возвращает ссылку на выход если указано.

Смотрите также

ndarray.prod

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

Определение типа вывода

Примечания

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

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

Произведение пустого массива — это нейтральный элемент 1:

>>> np.prod([])
1.0

Примеры

По умолчанию вычисляет произведение всех элементов:

>>> import numpy as np
>>> np.prod([1.,2.])
2.0

Даже когда входной массив двумерный:

>>> a = np.array([[1., 2.], [3., 4.]])
>>> np.prod(a)
24.0

Но мы также можем указать ось, по которой умножать:

>>> np.prod(a, axis=1)
array([  2.,  12.])
>>> np.prod(a, axis=0)
array([3., 8.])

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

>>> 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