Функция isinf
Функция isinf проверяет каждый элемент массива
на то, является ли он положительной или отрицательной
бесконечностью. Функция возвращает массив логических
значений той же формы, что и исходный массив.
Элементы, равные np.inf или -np.inf,
получают значение True, а все остальные - False.
Синтаксис
np.isinf(x, [out, where])
Основным параметром функция принимает массив
для проверки. Необязательные параметры out
и where используются для работы с условиями
и буферизацией.
Пример
Давайте проверим массив чисел на наличие бесконечных значений:
import numpy as np
arr = np.array([1, np.inf, -np.inf, 5])
res = np.isinf(arr)
print(res)
Результат выполнения кода:
[False True True False]
Пример
Функция корректно обрабатывает положительные и отрицательные бесконечности:
import numpy as np
arr = np.array([np.inf, -np.inf, 0, np.nan, 10])
res = np.isinf(arr)
print(res)
Результат выполнения кода:
[ True True False False False]
Обратите внимание, что np.nan не является
бесконечностью, поэтому для него возвращается False.
Пример
Функция isinf может использоваться для фильтрации
массивов. Например, чтобы оставить только конечные значения:
import numpy as np
arr = np.array([1, np.inf, 3, -np.inf, 5])
mask = ~np.isinf(arr)
res = arr[mask]
print(res)
Результат выполнения кода:
[1 3 5]
Пример
Функция работает и с многомерными массивами. Проверим двумерный массив на наличие бесконечностей:
import numpy as np
arr = np.array([[1, np.inf, 3], [np.inf, 5, 6]])
res = np.isinf(arr)
print(res)
Результат выполнения кода:
[[False True False]
[ True False False]]