«NaN значения в стандартной библиотеке Python»

Проблема 'NaN' значений в стандартной библиотеке Python

ПРОГРАММИРОВАНИЕ НА PYTHON

NaN означает Не число. Вы можете использовать его в числовых библиотеках — но также в стандартной библиотеке Python.

Фото автора cyrus gomez на Unsplash

NaN означает Не число. Таким образом, объект NaN представляет то, что подразумевает его название — что-то, что не является числом. Это может быть отсутствующее значение, но также и ненумерическое значение в числовой переменной. Поскольку мы не должны использовать ненумерическое значение в чисто числовых контейнерах, мы указываем такое значение как не число, NaN. Иными словами, мы можем сказать, что NaN представляет собой отсутствующее числовое значение.

В этой статье мы рассмотрим объекты NaN, доступные в стандартной библиотеке Python.

NaN значения часто встречаются в числовых данных. Если вас интересуют подробности об этом значении, вы можете найти их, например, здесь:

NaN – Википедия

В вычислительной технике не число (Not a Number) — особое значение численного типа данных (часто вещественной точности)…

ru.wikipedia.org

В этой статье мы не будем обсуждать все подробности значений NaN.¹ Вместо этого мы рассмотрим несколько примеров работы с NaN значениями в Python.

Каждый язык программирования имеет свой подход к значениям NaN. В языках программирования, ориентированных на вычисления, значения NaN являются фундаментальными. Например, в R у вас есть NULL (аналог None в Python), NA (для недоступных данных) и NaN (для не числа):

Снимок экрана из сессии R. Изображение автора.

В Python у вас есть None и несколько объектов, представляющих NaN. Стоит знать, что Pandas различает между NaN и NaT, значение, представляющее отсутствующее время. В этой статье мы рассмотрим значения NaN в стандартной библиотеке; значения NaNNaT, впрочем) в основных числовых фреймворках Python — таких как NumPy и Pandas — будут рассмотрены в будущей статье.

Если вы не работали с числовыми данными на Python, вам могло не встречаться значения NaN вообще. Однако в программировании на Python значения NaN повсеместно, поэтому важно знать…