【问题标题】:python : how to handle NaN data on if statement [duplicate]python:如何处理if语句中的NaN数据[重复]
【发布时间】: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: 测试该值是否为整数

标签: python


【解决方案1】:

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

import math

# ...

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

【讨论】:

    猜你喜欢
    • 2012-09-17
    • 2021-05-29
    • 2013-09-01
    • 2014-02-15
    • 2012-12-05
    • 2021-08-05
    • 2019-02-23
    • 2016-05-20
    • 2020-03-18
    相关资源
    最近更新 更多