Spec-Zone.ru › NumPy 1.21

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 не является точным, то никакие замены не производятся.

Параметры
xскаляр или array_like

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

copybool, необязательно

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

Введено в версии 1.13.

nanint, float, необязательно

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

Введено в версии 1.17.

posinfint, float, необязательно

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

Введено в версии 1.17.

neginfint, float, необязательно

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

Введено в версии 1.17.

Возвращает
outndarray

x, со значениями, не являющимися числами, заменёнными. Если 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–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.nan_to_num.html

Spec-Zone.ru

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