Функция cumprod
Функция cumprod вычисляет кумулятивное произведение элементов массива
по указанной оси. Результатом является массив той же размерности,
где каждый элемент представляет собой произведение всех предыдущих
элементов включая текущий по заданному направлению.
Основным параметром функции является массив, вторым параметром
можно указать ось, вдоль которой происходит вычисление.
Синтаксис
np.cumprod(arr, [axis])
Пример
Давайте вычислим кумулятивное произведение для одномерного массива:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = np.cumprod(arr)
print(res)
Результат выполнения кода:
[1 2 6 24 120]
Пример
Давайте вычислим кумулятивное произведение вдоль строк для двумерного массива:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = np.cumprod(arr, axis=1)
print(res)
Результат выполнения кода:
[[1 2 6]
[4 20 120]]
Пример
Давайте вычислим кумулятивное произведение вдоль столбцов:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = np.cumprod(arr, axis=0)
print(res)
Результат выполнения кода:
[[1 2 3]
[4 10 18]]
Пример
Давайте применим функцию к двумерному массиву без указания оси для получения плоского результата:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = np.cumprod(arr)
print(res)
Результат выполнения кода:
[1 2 6 24 120 720]
Пример
Давайте используем метод cumprod для массива с большими числами:
import numpy as np
arr = np.array([1, 1, 2, 3, 5, 8])
res = arr.cumprod()
print(res)
Результат выполнения кода:
[1 1 2 6 30 240]