Функция prod
Функция prod вычисляет произведение элементов массива.
По умолчанию перемножаются все элементы, но можно указать ось,
вдоль которой нужно выполнить вычисление. Функция возвращает
скаляр или массив с результатами. Также доступен метод
ndarray.prod.
Синтаксис
np.prod(a, axis=None, dtype=None, keepdims=False)
Основные параметры функции:
-
a- входной массив, для которого вычисляется произведение; -
axis- ось или оси, вдоль которых выполняется вычисление. Если ось не указана, перемножаются все элементы массива; -
dtype- тип данных результата. Если не указан, используется тип данных входного массива; -
keepdims- если установлен вTrue, размерность результата сохраняется с размером оси равным 1.
Пример
Давайте вычислим произведение всех элементов одномерного массива:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = np.prod(arr)
print(res)
Результат выполнения кода:
120
Пример
Вычислим произведение элементов двумерного массива вдоль разных осей:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res0 = np.prod(arr, axis=0)
res1 = np.prod(arr, axis=1)
print(res0)
print(res1)
Результат выполнения кода:
[ 4 10 18]
[ 6 120]
Пример
Используем параметр keepdims для сохранения размерности:
import numpy as np
arr = np.array([[1, 2], [3, 4], [5, 6]])
res = np.prod(arr, axis=1, keepdims=True)
print(res)
Результат выполнения кода:
[[ 2]
[12]
[30]]
Пример
Применим метод prod непосредственно к объекту массива:
import numpy as np
arr = np.array([1, 2, 3, 4])
res = arr.prod()
print(res)
Результат выполнения кода:
24
Пример
Вычислим произведение с сохранением типа данных через dtype:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = np.prod(arr, dtype=np.float64)
print(res)
Результат выполнения кода:
120.0