numpy.prod
-
numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<class numpy._globals._NoValue at 0x40b6a26c>)[source] -
Возвращает произведение элементов массива по заданной оси.
Параметры: a : array_like
Входные данные.
axis : None или int или кортеж из целых чисел, необязательно
Ось или оси, по которым выполняется произведение. По умолчанию, axis=None, вычисляется произведение всех элементов входного массива. Если axis отрицательный, он отсчитывается от последней к первой оси.
Введено в версии 1.7.0.
Если axis является кортежем целых чисел, произведение вычисляется по всем осям, указанным в кортеже, а не по одной оси или всем осям, как раньше.
dtype : dtype, необязательно
Тип возвращаемого массива, а также накопителя, в котором элементы перемножаются. Тип dtype
aиспользуется по умолчанию, еслиaимеет целочисленный тип с меньшей точностью, чем по умолчанию. В этом случае, еслиaсо знаком, используется целочисленный тип платформы, а еслиaбез знака, используется целое без знака той же точности, что и целое платформы.out : ndarray, необязательно
Альтернативный выходной массив, в который поместить результат. Он должен иметь такую же форму, как ожидаемый результат, но тип выходных значений будет преобразован при необходимости.
keepdims : bool, необязательно
Если это True, оси, которые были уменьшены, остаются в результате как измерения с размером один. С этим параметром результат будет корректно транслироваться относительно входного массива.
Если передано значение по умолчанию, то
keepdimsне будет передано в методprodподклассовndarray, однако любое отличное от значения по умолчанию значение будет. Если метод подклассовsumне реализуетkeepdims, будут подняты исключения.Возвращает: product_along_axis : ndarray, см. параметр
dtypeвыше.Массив с формой
a, но со специфической осью удаленной. Возвращает ссылку наoutпри указании.См. также
-
ndarray.prod - эквивалентный метод
-
numpy.doc.ufuncs - Раздел «Аргументы вывода»
Примечания
Арифметика является модульной при использовании целочисленных типов, и при переполнении не возникает ошибок. Это означает, что на 32-битной платформе:
>>> x = np.array([536870910, 536870910, 536870910, 536870910]) >>> np.prod(x) #random 16
Произведение пустого массива является нейтральным элементом 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.])
Если тип
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 == np.int True
-
© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.12.0/reference/generated/numpy.prod.html