Рубрики
Без рубрики

Понимание Нан в Numpy и Pandas

Нан короткая для не числа. Он используется для представления записей, которые не определены. Он также используется для представления отсутствующих значений в наборе данных.

Автор оригинала: 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:

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

Выход:

Dataframe.

1. Проверка на NAN ценности

Вы можете проверить значения NAN, используя Isnull () Метод Отказ Выходной вывод будет логической маской с размерами, что из исходного DataFrame.

s.isnull()

Выход:

Нулевой

2. Замена значения NAN

Существует несколько способов заменить значения NAN в DataFrame PandaS. Наиболее распространенный способ сделать это является использованием .fillna () метод.

Этот метод требует, чтобы вы укажете значение, чтобы заменить назы.

s.fillna(0)

Выход:

Fillna0.

В качестве альтернативы вы также можете упомянуть значения значений столбца. Это означает, что все 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. Надеюсь, вы веселились с нами.