Spec-Zone.ru › NumPy 1.19

numpy.prod

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

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

Параметры
aarray_like

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

axisNone or int or tuple of ints, optional

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

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

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

dtypedtype, optional

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

outndarray, optional

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

keepdimsbool, optional

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

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

initialscalar, optional

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

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

wherearray_like of bool, optional

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

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

Возвращает
product_along_axisndarray, see dtype parameter above.

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

См. также

ndarray.prod

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

ufuncs-output-type

Примечания

Арифметика является модульной при использовании целочисленных типов, и при переполнении ошибки не генерируются. Это означает, что на 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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.prod.html

Spec-Zone.ru

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