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