python:如何处理if语句中的NaN数据[重复]

Posted

技术标签:

【中文标题】python:如何处理if语句中的NaN数据[重复]【英文标题】:python : how to handle NaN data on if statement [duplicate] 【发布时间】:2019-04-28 23:21:06 【问题描述】:

我有一个 csv 文件,其中一些数据是空的。当我使用if 语句时,NaN 数据包含在else 语句中。

def warna_kota(population):
    if population < 10000:
        return 'green'
    elif 10000 <= population < 20000:
        return 'orange'
    elif 20000 <= population < 30000:
        return 'brown'
    elif 40000 <= population < 50000:
        return 'yellow' 
    elif 60000 <= population < 70000:
        return 'blue'
    elif 80000 <= population < 90000:
        return 'gold'
    elif 90000 <= population < 100000:
        return 'pink'
    else:
        return 'red'

结果显示NaN数据是红色的,我试过用这个,

if population = NaN:
    return 'grey'
elif:
    ...

但是,当我尝试运行代码时,它会产生错误。 NaN 数据为空,我想将NaN 数据与else 语句分开。我该怎么做?

【问题讨论】:

您可以使用if population!=population: 来检查您的变量是否为NaN @AlexanderReynolds population == np.nan 不起作用,因为 == 不适用于 nan。 使用建议的答案或使用try: except: 测试该值是否为整数 【参考方案1】:

使用math.isnan(population) 进行检查。

import math

# ...

if math.isnan(population):
    return 'grey'

【讨论】:

以上是关于python:如何处理if语句中的NaN数据[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何处理python scikit NMF中的缺失值

如何处理 Python 中应该缺失的缺失值(不应插入 NaN)?

Fs 错误地读取或保存导致 NaN 的文件。如何处理?

如何处理查询没有返回行的数据表的 linq 语句 [重复]

如何处理插补没有意义的 NaN 值? (对于 PCA)

写入期望类型不是浮点数的数据库时如何处理 NaN 值?