Spec-Zone.ru › NumPy 1.20

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

Параметры
xscalar or array_like

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

copybool, optional

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

Добавлена в версии 1.13.

nanint, float, optional

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

Добавлена в версии 1.17.

posinfint, float, optional

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

Добавлена в версии 1.17.

neginfint, float, optional

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

Добавлена в версии 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–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.nan_to_num.html

Spec-Zone.ru

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