Numpy对于NaN值的判断方法

作者:山茶花开时。 时间:2022-12-15 15:08:21 

numpy.nan的数据类型是float类型

import numpy as np
type(np.nan) # float

任何数字和numpy.nan进行计算,返回的结果都是nan

import numpy as np
print(np.nan + 1) # nan
print(np.nan - 1) # nan
print(np.nan * 1) # nan
print(np.nan / 1) # nan

对空值NaN的判断不能直接使用==表达式,bool表达式,以及不可直接使用if语句判断

import numpy as np
np.nan == np.nan # False

bool(np.nan) # True

# 输出结果:na is not null
if np.nan:
   print('np.nan is not null')

需要使用Numpy自带的方法np.isnan(),is表达式,in表达式进行判断

import numpy as np
np.nan is np.nan # True
np.isnan(np.nan) # True
np.nan in [np.nan] # True

提示

如果使用Pandas来判断numpy.nan,可使用pd.isnull(),pd.isna() 

import numpy as np
import pandas as pd
pd.isnull(np.nan)  # True
pd.isna(np.nan)  # True

注意:None、NaN、''空字符串的区别

# None是Python的特殊类型
# NoneType对象,它只有一个值None
type(None) # NoneType
None == None # True
None == np.nan # False

# 空字符串''
type('') # str

Pandas中的pd.isnull不仅可以检测np.nan也可以检测None,但不可以检测字符串,比如'''nan''None' 

import pandas as pd
import numpy as np
pd.isnull(np.nan) # True
pd.isnull(None) # True
pd.isnull('') # False
pd.isnull('np.nan') # False
pd.isnull('None') # False
import pandas as pd
import numpy as np
List = ['nan', '', 'None', None, np.nan]
for i in List:
   if i == '' or pd.isnull(i) or pd.isnull(float('nan')) or i == 'None':
       print(i)

# 上述输出结果:
# nan
# ''
# None
# None
# nan

List(5 elements) 

Numpy对于NaN值的判断方法

来源:https://blog.csdn.net/Hudas/article/details/125424248

标签:Numpy,NaN值
0
投稿

猜你喜欢

  • Python实现base64编码的图片保存到本地功能示例

    2024-01-01 22:58:03
  • 基于python使MUI登录页面的美化

    2023-10-23 16:28:03
  • Python 权限控制模块 Casbin

    2022-09-21 07:35:46
  • Vue.js中安装一个路由器demo

    2024-05-09 14:51:04
  • Python查找数组中数值和下标相等的元素示例【二分查找】

    2023-11-04 12:55:45
  • 利用Python编写个冷笑话生成器

    2021-05-10 15:13:20
  • 浅谈Vue3 defineComponent有什么作用

    2024-05-05 09:25:03
  • 从Web查询数据库之PHP与MySQL篇

    2023-07-18 11:04:05
  • python3学习笔记之多进程分布式小例子

    2022-08-23 04:46:07
  • 分享很实用的css圆角写法[百度有啊提取]

    2009-01-06 13:05:00
  • TensorFlow搭建神经网络最佳实践

    2021-03-11 18:59:26
  • 长文章自动分页类

    2008-09-10 12:11:00
  • TOPI如何使TVM代码不那么样板化

    2022-02-02 00:22:07
  • 关于Python正则表达式模块之re模块

    2022-12-31 08:03:46
  • 跟老齐学Python之关于循环的小伎俩

    2022-07-20 07:03:36
  • javascript实现延时显示提示框效果

    2024-04-25 13:10:42
  • python numpy数组复制使用实例解析

    2023-06-22 07:27:06
  • 将python文件打包exe独立运行程序方法详解

    2021-07-03 02:26:41
  • 浅谈优化Django ORM中的性能问题

    2022-04-08 13:24:27
  • 用python实现一个简单的验证码

    2023-05-23 12:07:58
  • asp之家 网络编程 m.aspxhome.com