numpy.prod
-
numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<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.
Возвращает: -
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) # 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 == 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.15.4/reference/generated/numpy.prod.html