Python检查NaN:如何在Python中检查NaN值
NaN是Not A Number的缩写,它是一个代表缺失数据的浮点值。人们总是把None和NaN混为一谈,因为它看起来很相似,但两者是完全不同的。
None是一个数据本身(NoneType),用来定义一个空值或根本没有的值。None与0、False或空字符串不同。虽然缺失值在数字数组中是NaN,但在对象数组中是None。
Python 检查 NaN
要在Python中检查NaN值。
- 使用 math.isan() 方法
- 使用np.isan()函数
- 使用pd.isna()方法
- 创建你自己的函数
使用 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