7 min read

Как проверить значение NaN в Python?

В Python значение NaN — это специальное значение, указывающее, что число не является ...

В Python значение NaN — это специальное значение, указывающее, что число не является числом. Чтобы проверить значение NaN в Python, вы можете использовать функцию isinstance(). Функция isinstance() возвращает логическое значение, указывающее, является ли данный объект экземпляром определенного класса. Если функция isinstance() возвращает True, то объект является экземпляром класса, указанного аргументом, а если функция isinstance() возвращает False, то объект не является экземпляром класса, указанного аргументом

Чтобы использовать функцию isinstance() для проверки значения NaN в Python, вы можете использовать следующий пример кода.

если isinstance(x, float)

print("x число с плавающей запятой")

еще

print("х не число")

Как в Python проверить, является ли одно значение NaN?. Существуют подходы, использующие библиотеки (pandas, math и numpy), и подходы, не использующие библиотеки.

NaN — это сокращение от Not A Number, которое является одним из наиболее распространенных способов представления отсутствующего значения в данных. Это уникальное значение с плавающей запятой, которое нельзя преобразовать в другой тип, кроме float.

Одной из самых серьезных проблем при анализе данных является значение NaN. Критически важно иметь дело с NaN для достижения желаемых результатов.

Легко найти и обработать NaN в массиве, серии или кадре данных. Однако определить отдельное значение NaN сложно. В этой статье я расскажу о пяти способах работы с NaN в Python. Первые три метода основаны на встроенных библиотечных функциях.

Способ 1. Использование библиотеки панд

Функцию isna() библиотеки pandas можно использовать для определения того, является ли значение нулевым или NaN. Если значение равно NaN/null, оно вернет True.

import pandas as pd
x = float("nan")
print(f"It's pd.isna : {pd.isna(x)}")
OutputIt's pd.isna : True

Способ 2. Использование библиотеки Numpy

Функцию isnan() библиотеки numpy можно использовать для определения того, является ли значение нулевым или NaN. Это похоже на функцию isna() в pandas.

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True

Способ 3. Использование математической библиотеки

Математическая библиотека включает встроенные математические функции. Все действительные числа покрываются библиотекой. можно использовать при работе с большими числами
Для проверки значений null/NaN в математической библиотеке есть функция isnan().

import math
x = float("nan")
print(f"It's math.isnan : {math.isnan(x)}")
OutputIt's math.isnan : True

Способ 4. Сравнивая с собой

Когда я только начинал работать в крупной ИТ-компании, первый месяц мне пришлось пройти обучение. Представляя концепцию значений NaN, тренер упомянул, что они похожи на неизвестных инопланетян. Поскольку эти инопланетяне постоянно меняют свой внешний вид, мы не можем сравнивать значение NaN с самим собой.
Самый распространенный способ определить значения NaN — проверить, равна ли переменная самой себе. Если это не так, это должно быть значение NaN.

def isNaN(num):
return num!= num
x=float("nan")
isNaN(x)
OutputTrue

Способ 5. Проверка диапазона

Диапазон — это еще одно свойство NaN, которое можно использовать для проверки наличия NaN. Все значения с плавающей запятой находятся между минус бесконечностью и бесконечностью

бесконечность < любое число < бесконечность

Однако значения NaN выходят за пределы этого диапазона. В результате, если значение не попадает в диапазон от минус бесконечности до бесконечности, это NaN

Это можно сделать следующим образом

def isNaN(num):
if float('-inf') < float(num) < float('inf'):
return False
else:
return True
x=float("nan")
isNaN(x)
OutputTrue

Надеюсь, вам была полезна предыдущая статья. Я уверен, что есть много других методов проверки значений NaN, основанных на другой логике. Пожалуйста, поделитесь любыми другими методами, которые вы обнаружили для проверки значений NaN/Null.

Здравствуйте, сегодня мы обсудим NaN. Кроме того, мы узнаем, как использовать Python, чтобы определить, является ли данная строка строкой NaN. Вам может быть интересно, что это за NaN. Итак, позвольте мне сказать вам, что Нэн — это аббревиатура от Not a Number. Это числовой тип данных, который представляет собой непредсказуемость значения. Например, квадратный корень из отрицательного числа представляет собой NaN, как и вычитание бесконечного числа из другого бесконечного числа. В вычислительной системе NaN представляет собой неопределенное значение.

Как в Python проверить, является ли строка NaN?

Мы можем определить, является ли строка NaN, используя свойство объекта NaN, состоящее в том, что NaN. = NaN

Давайте создадим логическую функцию с именем isNaN(), которая возвращает true, если данный аргумент является NaN, и false в противном случае.

def isNaN(string):
    return string != string
print(isNaN("hello"))
print(isNaN(np.nan))

Следующий код даст следующий результат

False
True

Мы также можем преобразовать значение в число с плавающей запятой, чтобы определить, является ли оно NaN. Мы импортируем математический модуль и используем математику для этих. иснан () метод. См. приведенный ниже код

В результате код для определения того, существует ли значение NaN в столбце set_of_numbers, выглядит следующим образом.

import pandas as pd
import numpy as np

data = {'set_of_numbers': [1,2,3,4,5,np.nan,6,7,np.nan,8,9,10,np.nan]}
df = pd.DataFrame(data)

check_for_nan = df['set_of_numbers'].isnull().values.any()
print (check_for_nan)

Когда вы запустите код, вы получите «True», что подтверждает наличие значений NaN в столбце DataFrame.

True

Кроме того, если вы хотите увидеть фактическую разбивку экземпляров, в которых существуют значения NaN, вы можете удалить. ценности. любой() из кода. Таким образом, полный синтаксис для получения разбивки будет следующим:

import pandas as pd
import numpy as np

data = {'set_of_numbers': [1,2,3,4,5,np.nan,6,7,np.nan,8,9,10,np.nan]}
df = pd.DataFrame(data)

check_for_nan = df['set_of_numbers'].isnull()
print (check_for_nan)

Теперь вы должны увидеть три экземпляра значений NaN.

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
00

Вот еще один метод получения всех экземпляров, где существует значение NaN.

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
01

Появится новый столбец (названный «value_is_NaN»), в котором будут указаны все экземпляры, в которых существует значение NaN.

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
02

(2) Подсчитайте количество NaN в одном столбце DataFrame.

Вы можете использовать этот синтаксис для подсчета значений NaN в одном столбце DataFrame.

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
03

Синтаксис для нашего примера следующий

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
04

Затем вам будет возвращено количество трех значений NaN.

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
05

А вот еще метод определения числа

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
06

Вы получите количество трех экземпляров значений NaN, как и раньше.

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
07

(3) Поиск NaN по всему DataFrame

Давайте теперь добавим второй столбец в исходный DataFrame. В этот столбец будет включен другой набор чисел со значениями NaN.

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
08

Когда вы запустите код, вы увидите 8 экземпляров значений NaN во всем DataFrame.

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
09

Затем вы можете использовать этот синтаксис для проверки наличия значений NaN во всем DataFrame.

import math
x = float("nan")
print(f"It's math.isnan : {math.isnan(x)}")
OutputIt's math.isnan : True
00

Для нашего примера

import math
x = float("nan")
print(f"It's math.isnan : {math.isnan(x)}")
OutputIt's math.isnan : True
01

Когда вы запустите код, вы получите значение «Истина», что подтверждает наличие значений NaN в DataFrame.

Как рассчитать значение NaN?

NaN — это число, которое не является допустимым числом в JavaScript. Число. Если значение равно NaN, метод isNaN() возвращает значение true. и типом данных является число.

Как я могу проверить значение NaN в Pandas?

Ниже приведены методы проверки NaN в Pandas DataFrame. .
Проверить наличие NaN с помощью isnull(). ценности. любой () метод
Подсчитайте NaN, используя isnull(). сумма() Метод
Проверить наличие NaN с помощью isnull(). ценности. любой () Метод
Подсчитайте NaN, используя isnull(). сумма(). сумма() Метод

Как определить, имеет ли переменная значение NaN?

Как определить, имеет ли строка значение NaN?

Мы можем определить, является ли строка NaN, используя свойство объекта NaN,. = NaN . Давайте создадим логическую функцию с именем isNaN(), которая возвращает true, если данный аргумент является NaN, и false в противном случае. Мы также можем преобразовать значение в число с плавающей запятой, чтобы определить, является ли оно NaN.

John Conner
John Conner
John Conner has written about blogger for more than 5 years and for congnghe123 since 2017

Member discussion

       

Related Posts