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 но с удалённой указанной осью. Возвращает ссылку на выход если указано.
- product_along_axisndarray, см.
Смотрите также
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