Spec-Zone.ru › NumPy 1.19

numpy.nan_to_num

numpy.nan_to_num(x, copy=True, nan=0.0, posinf=None, neginf=None) [source]

Замена NaN на ноль и бесконечности на большие конечные числа (по умолчанию) или числами, определёнными пользователем с помощью ключевых слов nan, posinf и/или neginf.

Если x неточная, NaN заменяется нулём или значением, определённым пользователем в ключевом слове nan, бесконечность заменяется на наибольшие конечные значения с плавающей запятой, представимые x.dtype или определённым пользователем значением в ключевом слове posinf, а -бесконечность заменяется на наименьшие конечные значения с плавающей запятой, представимые x.dtype или определённым пользователем значением в ключевом слове neginf.

Для комплексных типов данных вышеизложенное применяется к каждой из вещественной и мнимой составляющих x по отдельности.

Если x не является неточной, то никакие замены не производятся.

Parameters
xscalar or array_like

Входные данные.

copybool, optional

Необходимо ли создать копию x (True) или заменить значения на месте (False). Операция на месте выполняется только в том случае, если приведение к массиву не требует копирования. По умолчанию True.

New in version 1.13.

nanint, float, optional

Значение, используемое для заполнения NaN значений. Если значение не передано, значения NaN заменяются на 0.0.

New in version 1.17.

posinfint, float, optional

Значение, используемое для заполнения значений положительной бесконечности. Если значение не передано, значения положительной бесконечности заменяются очень большим числом.

New in version 1.17.

neginfint, float, optional

Значение, используемое для заполнения значений отрицательной бесконечности. Если значение не передано, значения отрицательной бесконечности заменяются очень малым (или отрицательным) числом.

New in version 1.17.

Returns
outndarray

x, со значениями бесконечности и NaN, заменёнными. Если copy равно False, это может быть само x.

См. также

isinf

Показывает, какие элементы являются положительной или отрицательной бесконечностью.

isneginf

Показывает, какие элементы являются отрицательной бесконечностью.

isposinf

Показывает, какие элементы являются положительной бесконечностью.

isnan

Показывает, какие элементы являются числом, не являющимся числом (NaN).

isfinite

Показывает, какие элементы являются конечными (не NaN и не бесконечность)

Примечания

NumPy использует стандарт IEEE для двоичной арифметики с плавающей точкой (IEEE 754). Это означает, что число, не являющееся числом, не эквивалентно бесконечности.

Примеры

>>> np.nan_to_num(np.inf)
1.7976931348623157e+308
>>> np.nan_to_num(-np.inf)
-1.7976931348623157e+308
>>> np.nan_to_num(np.nan)
0.0
>>> x = np.array([np.inf, -np.inf, np.nan, -128, 128])
>>> np.nan_to_num(x)
array([ 1.79769313e+308, -1.79769313e+308,  0.00000000e+000, # may vary
       -1.28000000e+002,  1.28000000e+002])
>>> np.nan_to_num(x, nan=-9999, posinf=33333333, neginf=33333333)
array([ 3.3333333e+07,  3.3333333e+07, -9.9990000e+03, 
       -1.2800000e+02,  1.2800000e+02])
>>> y = np.array([complex(np.inf, np.nan), np.nan, complex(np.nan, np.inf)])
array([  1.79769313e+308,  -1.79769313e+308,   0.00000000e+000, # may vary
     -1.28000000e+002,   1.28000000e+002])
>>> np.nan_to_num(y)
array([  1.79769313e+308 +0.00000000e+000j, # may vary
         0.00000000e+000 +0.00000000e+000j,
         0.00000000e+000 +1.79769313e+308j])
>>> np.nan_to_num(y, nan=111111, posinf=222222)
array([222222.+111111.j, 111111.     +0.j, 111111.+222222.j])

© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.nan_to_num.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API