Метод prod
Метод prod класса ndarray возвращает произведение
всех элементов массива. Если указать параметр axis,
произведение вычисляется вдоль указанной оси. Метод полезен
для вычисления общего произведения элементов, например,
в задачах статистики или линейной алгебры.
Синтаксис
arr.prod(axis=None, dtype=None, out=None, keepdims=False, initial=1, where=True)
Параметр axis задаёт ось, вдоль которой вычисляется произведение.
Параметр dtype определяет тип данных результата.
Параметр out задаёт массив для вывода результата.
Параметр keepdims сохраняет размерность массива.
Параметр initial задаёт начальное значение для произведения.
Параметр where позволяет выбирать элементы для вычисления.
Пример
Вычислим произведение всех элементов одномерного массива:
import numpy as np
arr = np.array([2, 3, 4])
res = arr.prod()
print(res)
Результат выполнения кода:
24
Пример
Вычислим произведение элементов двумерного массива вдоль оси 0 (по столбцам):
import numpy as np
arr = np.array([[2, 3, 4], [5, 6, 7]])
res = arr.prod(axis=0)
print(res)
Результат выполнения кода:
[10 18 28]
Пример
Вычислим произведение элементов двумерного массива вдоль оси 1 (по строкам):
import numpy as np
arr = np.array([[2, 3, 4], [5, 6, 7]])
res = arr.prod(axis=1)
print(res)
Результат выполнения кода:
[ 24 210]
Пример
Используем параметр keepdims для сохранения размерности при вычислении произведения вдоль оси:
import numpy as np
arr = np.array([[2, 3, 4], [5, 6, 7]])
res = arr.prod(axis=1, keepdims=True)
print(res)
print("Shape:", res.shape)
Результат выполнения кода:
[[ 24]
[210]]
Shape: (2, 1)
Пример
Зададим начальное значение произведения с помощью параметра initial:
import numpy as np
arr = np.array([2, 3, 4])
res = arr.prod(initial=10)
print(res)
Результат выполнения кода:
240
Пример
Используем параметр where для вычисления произведения только некоторых элементов:
import numpy as np
arr = np.array([2, 3, 4, 5, 6])
mask = np.array([True, False, True, False, True])
res = arr.prod(where=mask)
print(res)
Результат выполнения кода:
48
Пример
Вычислим произведение элементов с плавающей точкой:
import numpy as np
arr = np.array([1.5, 2.5, 3.5])
res = arr.prod()
print(res)
Результат выполнения кода:
13.125