Python判断Nan值方式小结
numpy判断
1
2
3
|
import numpy as np nan = float ( 'nan' ) print (np.isnan(nan)) |
True
Math判断
1
2
3
|
import math nan = float ( 'nan' ) print (math.isnan(nan)) |
True
Pandas判断
1
2
3
|
import pandas as pd nan = float ( 'nan' ) print (pd.isna(nan)) |
True
判断是否等于自身
利用Nan值不等于其自身判断
1
2
3
4
|
def is_nan(nan): return nan ! = nan nan = float ( 'nan' ) print (is_nan(nan)) |
True
Nan不属于任何取值区间
1
2
3
4
5
|
# 只能输入数值型参数 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的方法
1
|
a = float (‘nan ') or from decimal import Decimal a = Decimal(‘nan' ) |
常见的计算结果为nan的情况
1
2
3
4
5
|
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.
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/BurningSilence/article/details/120180454