numpy.prod
-
numpy.prod(a, axis=None, dtype=None, out=None, keepdims=False)[source] -
Возвращает произведение элементов массива по заданной оси.
Параметры: a : array_like
Входные данные.
axis : None или int или кортеж из целых чисел, необязательно
Ось или оси, по которым выполняется произведение. По умолчанию (
axis=None) выполняется произведение по всем измерениям входного массива.axisможет быть отрицательным, в этом случае он считает оси от последней к первой.Введено в версии 1.7.0.
Если это кортеж из целых чисел, то произведение выполняется по нескольким осям, а не по одной оси или всем осям, как раньше.
dtype : тип данных, необязательно
Тип данных возвращаемого массива, а также аккумулятора, в котором элементы умножаются. По умолчанию, если
aимеет целочисленный тип,dtype— это стандартный целочисленный тип платформы. (Примечание: если типaбеззнаковый, то иdtypeбеззнаковый.) В противном случае тип данных совпадает с типомa.out : ndarray, необязательно
Альтернативный массив вывода, в который поместить результат. Он должен иметь такую же форму, как ожидаемый результат, но тип значений вывода будет приведён к необходимому типу при необходимости.
keepdims : bool, необязательно
Если это True, оси, которые были свёрнуты, остаются в результате как измерения с размером один. С этим вариантом результат будет корректно транслироваться относительно исходного
arr.Возвращает: 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–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.prod.html