numpy.prod
- numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)[source]
-
Возвращает произведение элементов массива по заданной оси.
- Параметры:
-
- aarray_like
-
Входные данные.
- axisNone или int или кортеж из целых чисел, необязательно
-
Ось или оси, по которым выполняется вычисление произведения. По умолчанию, axis=None, вычисляет произведение всех элементов в массиве. Если axis отрицательный, он отсчитывается от последней к первой оси.
Введено в версии 1.7.0.
Если axis является кортежем из целых чисел, произведение выполняется по всем осям, указанным в кортеже, а не по одной оси или по всем осям, как раньше.
- dtypedtype, необязательно
-
Тип возвращаемого массива, а также типа аккумулятора, в котором элементы умножаются. Тип
aиспользуется по умолчанию, еслиaне имеет целочисленного типа меньшей точности, чем тип по умолчанию. В этом случае, еслиaсо знаком, то используется целочисленный тип платформы, а еслиaбез знака, то используется беззнаковый целочисленный тип той же точности, что и целочисленный тип платформы. - outndarray, необязательно
-
Альтернативный массив вывода, в который поместить результат. Он должен иметь ту же форму, что и ожидаемый вывод, но тип значений вывода будет преобразован при необходимости.
- keepdimsbool, необязательно
-
Если это True, оси, которые были уменьшены, остаются в результате в виде измерений с размером один. С этим вариантом результат будет корректно транслироваться с входным массивом.
Если передано значение по умолчанию, то
keepdimsне будет передано методуprodподклассовndarray, однако любое отличное от значения по умолчанию будет. Если метод подкласса не реализуетkeepdims, будут подняты исключения. - initialскаляр, необязательно
-
Начальное значение для этого произведения. См.
reduceдля получения подробной информации.Введено в версии 1.15.0.
- wherearray_like типа bool, необязательно
-
Элементы, которые нужно включить в произведение. См.
reduceдля получения подробной информации.Введено в версии 1.17.0.
- Возвращает:
-
-
product_along_axisndarray, см. параметр
dtypeвыше. -
Массив формы
a, но со специфической осью удалена. Возвращает ссылку наoutесли указано.
-
product_along_axisndarray, см. параметр
См. также
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
Даже когда входной массив двумерный:
>>> a = np.array([[1., 2.], [3., 4.]]) >>> np.prod(a) 24.0
Но мы также можем указать ось, по которой нужно выполнять умножение:
>>> np.prod(a, axis=1) array([ 2., 12.]) >>> np.prod(a, axis=0) array([3., 8.])
Или выбрать определённые элементы для включения:
>>> 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–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.prod.html