python之NAN和INF值处理方式

 更新时间:2022年05月09日 10:00:13   作者:静默安然  
这篇文章主要介绍了python之NAN和INF值处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

一、NAN和INF值处理

首先我们要知道这两个英文单词代表的什么意思:

  • NAN:Not A number,不是一个数字的意思,但是他是属于浮点类型的,所以想要进行数据操作的时候需要注意他的类型。
  • INF:Infinity,代表的是无穷大的意思,也是属于浮点类型。np.inf表示正无穷大,-np.inf表示负无穷大,一般在出现除数为0的时候为无穷大。比如2/0。

二、NAN一些特点

  • NAN和NAN不相等。比如np.NAN != np.NAN这个条件是成立的。
  • NAN和任何值做运算,结果都是NAN。

有些时候,特别是从文件中读取数据的时候,经常会出现一些缺失值。缺失值的出现会影响数据的处理。因此我们在做数据分析之前,先要对缺失值进行一些处理。处理的方式有多种,需要根据实际情况来做。一般有两种处理方式:删除缺失值,用其他值进行填充。

三、两种处理方式:删除缺失值,用其他值进行填充

3.1删除缺失值

3.1.1 将数组中的NAN删掉,那么我们可以换一种思路,就是只提取不为NAN的值 

3.1.2 删除NAN所在的行(删除后还是二维数组)

3.2用其他值进行填充

有些时候我们不想直接删掉,比如有一个成绩表,分别是数学和英语,但是因为某个人在某个科目上没有成绩,那么此时就会出现NAN的情况,这时候就不能直接删掉了,就可以使用某些值进行替代。

假如有以下表格:

数学英语
5989
9032
7845
34NAN
NAN56
2356

如果想要求每门成绩的总分,以及每门成绩的平均分,那么就可以采用某些值替代。比如求总分,那么就可以把NAN替换成0,如果想要求平均分,那么就可以把NAN替换成其他值的平均值。示例代码如下:

总结

1.NAN: Not A Number的简写,不是一个数字,但是他是属于浮点类型。

2.INF:无穷大,在除数为0的情况下会出现INF。

3.NAN和所有的值进行计算结果都是等于NAN

4.NAN != NAN

5.可以通过np.isnan来判断某个值是不是NAN。

6.处理值的时候,可以通过删除NAN的形式进行处理,也可以通过值的替换进行处理。

7.np.delete比较特殊,他通过axis=0来代表行,而其他大部分函数是通过axis=1来代表行。

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

相关文章

  • python 对象真假值的实例(哪些视为False)

    python 对象真假值的实例(哪些视为False)

    这篇文章主要介绍了python 对象真假值的实例(哪些视为False),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • pyside写ui界面入门示例

    pyside写ui界面入门示例

    PySide 是一个python绑定的跨平台GUI Qt库。目前,支持Python的Qt库有两个PyQt和PySide。下面写一个简单的hello程序学习他的使用方法
    2014-01-01
  • 关于python中time和datetime的区别与用法

    关于python中time和datetime的区别与用法

    这篇文章主要介绍了关于python中time和datetime的区别与用法,Python中封装了很多实用的函数,那么关于时间的函数time和datetime有什么区别和作用,让我们来看看吧
    2023-03-03
  • python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例

    python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例

    这篇文章主要介绍了python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例,需要的朋友可以参考下
    2020-03-03
  • 浅谈Python描述数据结构之KMP篇

    浅谈Python描述数据结构之KMP篇

    这篇文章主要介绍了Python描述数据结构之KMP篇,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Python Django源码运行过程解析

    Python Django源码运行过程解析

    这篇文章主要介绍了Python Django源码运行过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • Python+random模块实现随机抽样

    Python+random模块实现随机抽样

    python的random库,提供了很多随机抽样方法。本文将通过几个示例为大家详细讲讲random模块实现随机抽样的方法,需要的可以参考一下
    2022-09-09
  • Python中zip()函数的简单用法举例

    Python中zip()函数的简单用法举例

    这篇文章主要给大家介绍了关于Python中zip()函数的简单用法,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • Python判断字符串是否为字母或者数字(浮点数)的多种方法

    Python判断字符串是否为字母或者数字(浮点数)的多种方法

    本文给大家带来三种方法基于Python判断字符串是否为字母或者数字(浮点数),非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • Python+decimal完成精度计算的示例详解

    Python+decimal完成精度计算的示例详解

    在进行小数计算的时候使用float,经常会出现小数位不精确的情况。在python编程中,推荐使用decimal来完成小数位的精度计算。本文将通过示例详细说说decimal的使用,需要的可以参考一下
    2022-10-10

最新评论