Spec-Zone.ru › NumPy 1.17

numpy.prod

numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<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.

where : array_like of bool, optional

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

Введено в версии 1.17.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)
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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.prod.html

Spec-Zone.ru

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