Spec-Zone.ru › NumPy 1.17

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 : scalar or array_like

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

copy : bool, optional

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

nan : int, float, optional

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

posinf : int, float, optional

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

neginf : int, float, optional

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

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

Возвращает:
out : ndarray

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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.nan_to_num.html

Spec-Zone.ru

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