Функция nanprod
Функция nanprod возвращает произведение элементов массива,
пропуская все значения NaN (Not a Number).
Она особенно полезна при работе с данными, содержащими пропуски,
поскольку стандартная функция prod вернула бы NaN
при наличии хотя бы одного пропущенного значения.
Первый параметр - входной массив; второй - ось (по умолчанию None),
по которой вычисляется произведение; третий - тип данных результата;
четвёртый - параметр keepdims, сохраняющий размерность.
Синтаксис
np.nanprod(arr, axis=None, dtype=None, keepdims=False)
Пример
Вычислим произведение всех элементов массива, содержащего NaN:
import numpy as np
arr = np.array([1, 2, np.nan, 4, 5])
res = np.nanprod(arr)
print(res)
Результат выполнения кода:
40.0
Пример
Вычислим произведение по столбцам (оси 0) для двумерного массива:
import numpy as np
arr = np.array([[1, 2, 3], [np.nan, 5, 6], [7, 8, np.nan]])
res = np.nanprod(arr, axis=0)
print(res)
Результат выполнения кода:
[ 7. 80. 18.]
Пример
Сохраним размерность с помощью параметра keepdims:
import numpy as np
arr = np.array([[1, 2], [np.nan, 4]])
res = np.nanprod(arr, axis=1, keepdims=True)
print(res)
Результат выполнения кода:
[[ 2.]
[ 4.]]
Пример
Укажем тип данных результата как целочисленный:
import numpy as np
arr = np.array([1.5, 2.5, np.nan, 3.5])
res = np.nanprod(arr, dtype=np.int32)
print(res)
Результат выполнения кода:
13
Смотрите также
-
функцию
nansum,
которая вычисляет сумму элементов без учётаNaN -
функцию
nanmean,
которая вычисляет среднее значение, игнорируяNaN -
функцию
nanstd,
которая вычисляет стандартное отклонение, игнорируяNaN -
функцию
nancumprod,
которая возвращает кумулятивное произведение без учётаNaN