Автор оригинала: Pankaj Kumar.
Понимание Нан в Numpy и Pandas
Нан короткая для Не число Отказ Он используется для представления записей, которые не определены. Он также используется для представления отсутствующих значений в наборе данных.
Концепция Нэна существовала даже до того, как был создан Python. Стандарт IEEE для арифметики с плавучей точкой (IEEE 754) ввел НАН в 1985 году.
NAN – это специальное значение с плавающей точкой, которое не может быть преобразовано в любой другой тип, чем поплавок.
В этом уроке мы рассмотрим, как NAN работает в Pands и Numpy.
Нан в Numpy
Давайте посмотрим, как работает NAN под Numpy. Для наблюдения за свойствами NAN давайте создадим NAN-массив с значениями NAN.
import numpy as np arr = np.array([1, np.nan, 3, 4, 5, 6, np.nan]) pritn(arr)
Выход:
[ 1. nan 3. 4. 5. 6. nan]
1. Математические операции на NaMy Array с NAN
Давайте попробуем вызвать некоторые основные функции на Numpy Array.
print(arr.sum())
Выход:
nan
Давайте попробуйте найти максимум от массива:
print(arr.max())
Выход:
nan
К счастью, Numpy предлагает методы, которые игнорируют значения NAN при выполнении математических операций.
2. Как игнорировать значения NAN при выполнении математических операций на Numpy Array
Numpy предлагает вам методы, такие как NP.NANSUM () и NP.NANMAX (), чтобы рассчитать сумму и MAX после игнорирования значений NAN в массиве.
np.nansum(arr)
Выход:
19.0
np.nanmax(arr)
6.0
Если у вас есть автозаполнение в своей IDE, вы увидите следующий список опций во время работы с NP.NAN:
3. Проверка значений NAN
Чтобы проверить значения NAN в NAMPY MARY, вы можете использовать метод NP.ISNAN ().
Это выводит логическую маску размера, которая из исходного массива.
np.isnan(arr)
Выход:
[False True False False False False True]
Выходной массив имеет True для индексов, которые являются Nans в исходном массиве и ложь для остальных.
4. Приравнять два нанда
Две назы, равные друг другу?
Это может быть запутанным вопросом. Давайте попробуем ответить на него, запустив код Python.
a = np.nan b = np.nan
Эти два утверждения инициализируют две переменные, A и B с NAN. Попробуем приравнивать два.
a == b
Выход:
False
В Python у нас также есть это оператор. Давайте попробуем использовать это, чтобы сравнить две переменные.
a is b
Выход:
True
Причина этого является то, что сравнивает значения как операндов, так и проверки на равенство стоимости. это оператор
С другой стороны, проверяет ли оба операнды к одному и тому же объекту или нет.
На самом деле, вы можете распечатать идентификаторы как A и B и увидеть, что они относятся к одному и тому же объекту.
id(a)
Выход:
139836725842784
id(b)
Выход:
139836725842784
Нан в Pandas DataFrame
Pandas DataFrames – это обычный способ импорта данных в Python. Давайте посмотрим, как мы можем иметь дело с NAN ценностями в PandaS DataFrame.
Давайте начнем с создания DataFrame.
s = pd.DataFrame([(0.0, np.nan, -2.0, 2.0), ... (np.nan, 2.0, np.nan, 1), ... (2.0, 5.0, np.nan, 9.0), ... (np.nan, 4.0, -3.0, 16.0)], ... columns=list('abcd')) s
Выход:
1. Проверка на NAN ценности
Вы можете проверить значения NAN, используя Isnull () Метод Отказ Выходной вывод будет логической маской с размерами, что из исходного DataFrame.
s.isnull()
Выход:
2. Замена значения NAN
Существует несколько способов заменить значения NAN в DataFrame PandaS. Наиболее распространенный способ сделать это является использованием .fillna () метод.
Этот метод требует, чтобы вы укажете значение, чтобы заменить назы.
s.fillna(0)
Выход:
В качестве альтернативы вы также можете упомянуть значения значений столбца. Это означает, что все Nans под один столбец будут заменены с тем же значением.
values = {'a': 0, 'b': 1, 'c': 2, 'd': 3} s.fillna(value=values)
Выход:
Вы также можете использовать интерполяцию для заполнения пропущенных значений в кадре данных. Интерполяция – это слегка продвинутый метод по сравнению с .Fillna ().
Интерполяция – это техника, с которой вы можете оценить неизвестные точки данных между двумя известными точками данных.
3. Строки падения, содержащие значения NAN
Чтобы бросить ряды или столбцы назами, вы можете использовать .DROPNA () метод.
Чтобы бросить строки с помощью Nans:
df.dropna()
Чтобы опустить колонны с помощью Nans:
df.dropna(axis='columns')
Заключение
Этот учебник был о назах в Python. Мы высоко сосредоточены на том, чтобы иметь дело с называющимисями в Nanpy и Pandas. Надеюсь, вы веселились с нами.