likes
comments
collection
share

Python检查NaN:如何在Python中检查NaN值

作者站长头像
站长
· 阅读数 31

Python检查NaN:如何在Python中检查NaN值

NaN是Not A Number的缩写,它是一个代表缺失数据的浮点值。人们总是把None和NaN混为一谈,因为它看起来很相似,但两者是完全不同的。

None是一个数据本身(NoneType),用来定义一个空值或根本没有的值。None与0、False或空字符串不同。虽然缺失值在数字数组中是NaN,但在对象数组中是None。

Python 检查 NaN

要在Python中检查NaN值。

  1. 使用 math.isan() 方法
  2. 使用np.isan()函数
  3. 使用pd.isna()方法
  4. 创建你自己的函数

使用 math.isan()

math.isnan() 是一个内置的 Python 方法,用于检查一个值是否是NaN(非数字)。如果指定的值是NaN, isnan() 方法返回True。否则,它将返回False

语法

math.isnan(num)

参数

num 是一个必要参数,是要检查的值。

例子

import math

test_data_a = 21
test_data_b = -19
test_data_c = float("nan")

print(math.isnan(test_data_a))
print(math.isnan(test_data_b))
print(math.isnan(test_data_c))

输出

False
False
True

使用np.nan()方法

np.nan()方法测试NaN的元素,并将结果作为布尔数组返回。

import numpy as np

test_data_a = 21
test_data_b = -19
test_data_c = float("nan")

print(np.isnan(test_data_a))
print(np.isnan(test_data_b))
print(np.isnan(test_data_c))

输出结果

False
False
True

np.isan()函数如果发现NaN值,则返回True。

使用pd.na()函数

isna()是一个pandas函数,可以检查值是否为NaN。

import pandas as pd

test_data_a = 21
test_data_b = -19
test_data_c = float("nan")

print(pd.isna(test_data_a))
print(pd.isna(test_data_b))
print(pd.isna(test_data_c))

输出

False
False
True

而pd.na()函数如果找到NaN值,则返回True。

通过创建一个函数

在Python中检查NaN值最常见的方法是检查变量是否等于自己。如果不是,那么它一定是NaN值。让我们创建一个函数来检查值是否等于它自己。

def isNaN(num):
    return num!= num

data = float("nan")
print(isNaN(data))

输出

True

我们不能将NaN值与自身进行比较。如果它返回False,两个值都是一样的,而两个NaN是不一样的。这就是为什么从上面的输出中,我们可以得出结论,它是NaN值。

这就是Python教程中如何检查纳值的方法。

The postPython Check NaN: How to Check NaN Value in Pythonappeared first onAppDividend.

转载自:https://juejin.cn/post/7088633504786972686
评论
请登录