Spec-Zone.ru › NumPy 2.0

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скаляр или массив_подобный

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

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

Spec-Zone.ru

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