【Python常用函数】一文让你彻底掌握Python中的numpy.nan函数

大数据时代的到来,使得很多工作都需要进行数据挖掘,从而发现更多有利的规律,或规避风险,或发现商业价值。

而大数据分析的基础是学好编程语言。

本文和你一起来探索Python中的nan函数,让你以最短的时间明白这个函数的原理。

也可以利用碎片化的时间巩固这个函数,让你在处理工作过程中更高效。

本文目录
  1. 安装numpy包

  2. nan函数定义

  3. nan函数实例

    3.1 查看nan类型

    3.2 验证nan是否等于自身

    3.3 查看nan与数的比较结果

    3.4 nan参与数学运算

    3.5 nan参与数组运算


一、安装numpy包

nan是numpy库下的函数,调用需先要安装numpy包。打开cmd,安装语句如下:

pip install numpy
由于numpy库是数据分析最常用的库之一,所以我早就安装过了,再安装会提示如下内容:


二、nan函数定义

在Python的NumPy库中,numpy.nan是一个特殊的浮点值,表示“不是一个数字”(Not a Number)。

它是一个64位浮点数类型的值,用于表示缺失或无法表示的数值。它有两个别名分别为numpy.NAN和numpy.NaN。

其基本调用语法如下:

import numpy as np 
np.nannp.NANnp.NaN

np.nan具有以下特性:

  1. np.nan不等于任何值,包括自身。这意味着np.nan == np.nan的结果为False。
  2. np.nan与任何数的比较结果都是False。这意味着np.nan < np.nan、np.nan > np.nan和np.nan == np.nan的结果都是False。
  3. np.nan是一个有效的数学操作数,可以参与各种数学运算。但是,任何涉及np.nan的算术运算结果都是np.nan。
  4. np.nan在数组中不会引起任何数学运算的错误,但会导致结果为np.nan。

三、nan函数实例

1   查看nan类型

首先导入numpy库,查看nan类型,具体代码如下:

import numpy as np 
type(np.nan)

得到结果:

float


  验证nan是否等于自身

接着验证np.nan是否等于自身,代码如下:

np.nan == np.nan

得到结果:

False
np.nan不等于自身。

  查看nan与数的比较结果

再看下nan与不同数的比较结果。

1.和自身比较,代码如下:

np.nan < np.nan

得到结果:

False


2.和1比较代码如下:

np.nan < 1

得到结果:

False

3.和1000比较,代码如下:

np.nan > 1000

得到结果:

False
可以发现,结果都为False。我也测试过比较大的数,结果也为False。感兴趣的可以自行测试一下。

  nan参与数学运算

再看下nan参与数学运算的结果。

1.nan加10000,代码如下:

np.nan + 10000

得到结果:

nan


2.nan乘5,代码如下:

np.nan*5

得到结果:

nan


3.nan除1,代码如下:

np.nan/1

得到结果:

nan


  nan参与数组运算

最后,看下nan参与数组运算的结果。

1.检查数组中是否有nan值,代码如下:

import numpy as np    # 创建一个包含 numpy.nan 的数组  arr = np.array([2, np.nan, 4, 5])  # 检查 numpy.nan 的值  np.isnan(arr)

得到结果:

array([False,  True, False, False])

2.对含有nan值的数组做加法运算,代码如下:
# 对数组进行数学运算  result = arr + 5  result
得到结果:
array([ 7., nan,  9.10.])

3.对含有nan值的数组求最大值,代码如下:
max([2, np.nan, 4, 5])
得到结果:
5

可以发现通过使用np.nan,可以在数组中表示缺失或无法表示的数值,并参与各种数学运算,而不会导致错误。

至此,Python中的nan函数已讲解完毕,如想了解更多Python中的函数,可以翻看公众号中“学习Python”模块相关文章。

【限时免费进群】群内讨论学习Python、玩转Python、风控建模、人工智能、数据分析相关问题,还提供招聘推信息、优秀文章、学习视频,也可交流工作中遇到的相关问题。需要的朋友添加微信号19967879837,加时备注想进的群,比如风控建模。

往期回顾:

一文囊括Python中的函数,持续更新。。。

一文囊括Python中的有趣案例,持续更新。。。

一文囊括Python中的数据分析与绘图,持续更新。。。

一文囊括风控模型搭建(原理+Python实现),持续更新。。。



限时免费进群

19967879837

添加微信号、手机号

请使用浏览器的分享功能分享到微信等