目录
  • Python判断Nan值方式小结
    • numpy判断
    • Math判断
    • Pandas判断
    • 判断是否等于自身
    • Nan不属于任何取值区间
  • python的nan处理
    • 定义nan的方法
    • 常见的计算结果为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.

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。