Python判断Nan值的五种方式小结

Python判断Nan值方式小结

numpy判断

import numpy as np
nan = float('nan')
print(np.isnan(nan))

True

Math判断

import math
nan = float('nan')
print(math.isnan(nan))

True

Pandas判断

import pandas as pd
nan = float('nan')
print(pd.isna(nan))

True

判断是否等于自身

利用Nan值不等于其自身判断

def is_nan(nan):
    return nan != nan
nan = float('nan')
print(is_nan(nan))

True

Nan不属于任何取值区间

# 只能输入数值型参数
def is_nan(nan):
    return not float('-inf') < nan < float('inf')
nan = float('nan')
print(is_nan(nan))

True

python的nan处理

python中的nan,即Not A Number。

定义nan的方法

a = float(‘nan') or from decimal import Decimal a = Decimal(‘nan')

常见的计算结果为nan的情况

a = -float("inf")
b = -float("inf")
c = float("inf")
d = float("inf")
1.a-b=nan    2. c-d=nan    3. 0*a=nan   4. 0*c=nan

今天在实现算法时遇到nan,出现这种情况最后发现是由于程序计算过程有”3“的情况导致计算结果不准确。处理方法加if判断,遇到3的情况使其结果为0.

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(Python判断Nan值的五种方式小结)