В NumPy есть функция numpy.isnan()
, которая проверяет значения NaN (не число) в массиве. Если вы хотите создать более питонический способ проверки значений в массиве, отличных от NaN, вы можете использовать функцию numpy.isfinite()
.
Вот пример использования numpy.isfinite()
:
import numpy as np
arr = np.array([1.0, np.nan, 3.0, np.nan, 5.0])
# Check for non-NaN values using numpy.isfinite()
non_nan_values = arr[np.isfinite(arr)]
print(non_nan_values)
Выход:
[1. 3. 5.]
В приведенном выше коде мы начинаем с импорта модуля NumPy и создания массива arr
, содержащего некоторые значения NaN.
Затем мы используем np.isfinite(arr)
для создания логической маски, которая представляет собой массив той же формы, что и arr
, где каждый элемент имеет значение True
, если соответствующий элемент в arr
не NaN, и False
в противном случае.
Наконец, мы используем логическую маску np.isfinite(arr)
для индексации исходного массива arr
и извлечения значений, отличных от NaN.
При таком подходе вы можете получить значения, отличные от NaN, более питонским способом.