Python NumPy использует стандарт IEEE для двоичных чисел с плавающей запятой для арифметики (IEEE 754). Это означает, что Not a Number не эквивалентно бесконечности. NaN
и NAN
— это псевдонимы nan
.
np.nan
numpy nan — это представление Not a Number с плавающей запятой IEEE 754. nan означает « не число », и его основная константа должна действовать как заполнитель для любых отсутствующих числовых значений в массиве.
Значения nan — это константы, определенные в numpy: nan, inf. NaN можно использовать как маску бедняги, что означает, если вам все равно, каково было исходное значение.
Хотя мы уже рассмотрели несколько различных способов обработки значений NaN, я хотел бы более подробно остановиться на некоторых функциях NaN в NumPy.
Большая часть данных, с которыми вы будете работать, будет предоставлена вам. Как мы видели, когда мы используем Pandas для импорта DataFrame, любое отсутствующее значение автоматически заменяется NaN в качестве заполнителя. Но мы также можем имитировать то же поведение непосредственно в NumPy.
Синтаксис
numpy.nan
Пример
См. следующий код.
# app.pyimport numpy as npmyarr = np.array ([1, 0, np.nan, 3]) print (myarr)
Вывод
python3 app.py [1. 0. nan 3.]
Важная вещь, которую я хотел бы, чтобы вы вынесли из этого, — это то, что все наши целые числа имеют были преобразованы в числа с плавающей запятой, и это потому, что NumPy определил тип данных NaN как число с плавающей запятой. Из-за неявного преобразования все наши элементы были преобразованы в тип данных с плавающей запятой.
Элементы NaN также имеют приоритет над всеми остальными элементами, когда с ними также используются математические операции.
См. значение nan в консоли.
# app.pyimport numpy as npprint (np.nan)
Вывод
python3 app.pynan
Давайте сравним два значения NaN и посмотрим, совпадают они или нет.
# app.pyimport numpy как npprint (np.nan == np.nan)
Вывод
python3 app.pyFalse
Numpy isnan ()
Функция Numpy isnan () поэлементно проверяет NaN и возвращает результат в виде логического массива. Numpy использует стандарт IEEE для двоичных чисел с плавающей запятой для арифметики (IEEE 754). Это означает, что Not a Number не эквивалентно бесконечности.
# app.pyimport numpy as npprint (np.isnan (np.nan))
Вывод
python3 app.pyTrue
Заключение
Когда вы готовите данные для машинного обучения или искусственного интеллекта, важно сначала проверить, а затем убедиться, что вы удалили или заменили каждый элемент NaN на этапе предварительной обработки..
Отсутствие единственного элемента NaN может вызвать серьезные проблемы в вашем конечном результате из-за его способности распространяться по вашим данным.
Наконец, пример константы Numpy nan окончен.
См. Также
Python isnan ()
Python isinf ()
Numpy isfinite ()
Numpy isreal ()
Numpy save ()