numpy.nanprod
numpy.nanprod(a, axis=None, dtype=None, out=None, keepdims=<no value>)
Функция nanprod() вычисляет произведение элементов массива, в том числе и по заданной оси (осям), в котором элементы nan учитываются как 1. Данная функция возвращает 1 если на вход подан пустой массив или все его элементы равны nan
.
-
- a - подобный массиву объект или массив NumPy
- Указанный объект или массив может состоять из любого доступного в NumPy числового типа.
- axis - None, целое число или кортеж целых чисел (необязательный аргумент)
- Данный параметр указывает номер оси или номера осей массива по которым выполняется произведение его элементов. По умолчанию
axis = None
, что соответствует перемножению всех элементов массива. Если указано отрицательное число, то номер оси отсчитывается от последней оси по направлению к первой. Если указан кортеж целых чисел, то произведение выполняется по всем указанным осям. - dtype - тип данных NumPy (необязательный аргумент)
- Данный параметр указывает тип данных возвращаемого массива а так же тип накапливающего сумматора, в котором происходит умножение элементов. По умолчанию
dtype = None
, что соответствует типу данных входного массива. - out - массив Numpy (необязательный аргумент)
- Указывает массив в который будет помещен результат работы функции. Данный массив должен иметь форму идентичную массиву с результатом работы функции. Подробнее о данном параметре смотрите на странице универсальные функции в разделе out.
- keepdims - True или False (необязательный аргумент)
- Если данный параметр указан как
True
, то результат работы функции по указанным осям будет способен к транслированию по исходному массиву, т.е. результат функции оформляется в массив с количеством осей исходного массива. Если параметр установлен в значениеFalse
, то результатом работы функции будет либо число, либо одномерный массив чисел.
-
- результат - число или массив NumPy
- Массив имеющий форму входного массива a у которого удалена ось указанная в параметре axis. Если параметр axis не указан, то будет возвращено число равное произведению всех элементов массива. Если параметр keepdims установлен в значение
False
, то результатом будет либо число, либо одномерный массив чисел. Если параметр keepdims установлен в значениеTrue
, то результатом будет массив с формой транслируемой (совместимой) по исходному массиву.
Примеры
>>> import numpy as np
>>>
>>> np.nanprod([])
1.0
>>> np.nanprod(1)
1
>>> np.nanprod([1])
1
>>> np.nanprod(np.nan)
1.0
>>> np.nanprod([np.nan])
1.0
>>>
>>> x = np.full(5, np.nan)
>>> x
array([nan, nan, nan, nan, nan])
>>> np.nanprod(x)
1.0
>>>
>>>
>>> x = np.arange(1, 10, dtype = np.float64).reshape(3, 3)
>>> x
array([[1., 2., 3.],
[4., 5., 6.],
[7., 8., 9.]])
>>> i, j = [0, 1, 2], [0, 1, 2]
>>> x[i, j] = np.nan
>>> x
array([[nan, 2., 3.],
[ 4., nan, 6.],
[ 7., 8., nan]])
>>>
>>>
>>> np.nanprod(x)
8064.0
>>>
>>> np.nanprod(x, axis = 0)
array([28., 16., 18.])
>>> np.nanprod(x, axis = 0, keepdims = True)
array([[28., 16., 18.]])
>>>
>>> np.nanprod(x, axis = 1)
array([ 6., 24., 56.])
>>> np.nanprod(x, axis = 1, keepdims = True)
array([[ 6.],
[24.],
[56.]])