Spec-Zone.ru › NumPy 1.18

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.

Новое в версии 1.13.

nanint, float, optional

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

Новое в версии 1.17.

posinfint, float, optional

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

Новое в версии 1.17.

neginfint, float, optional

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

Новое в версии 1.17.

Returns
outndarray

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

См. также

isinf

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

isneginf

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

isposinf

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

isnan

Показывает, какие элементы являются неопределёнными (NaN).

isfinite

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

Примечания

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

Примеры

>>> 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.18/reference/generated/numpy.nan_to_num.html

Spec-Zone.ru

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