您现在的位置是:网站首页> 编程资料编程资料
python之NAN和INF值处理方式_python_
2023-05-26
393人已围观
简介 python之NAN和INF值处理方式_python_
一、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的情况,这时候就不能直接删掉了,就可以使用某些值进行替代。
假如有以下表格:
| 数学 | 英语 |
|---|---|
| 59 | 89 |
| 90 | 32 |
| 78 | 45 |
| 34 | NAN |
| NAN | 56 |
| 23 | 56 |
如果想要求每门成绩的总分,以及每门成绩的平均分,那么就可以采用某些值替代。比如求总分,那么就可以把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来代表行。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
相关内容
- mAP计算目标检测精确度实现源码_python_
- Python判断Nan值的五种方式小结_python_
- Python图片视频超分模型RealBasicVSR的使用教程_python_
- 基于Python制作图像完美超分处理工具_python_
- Keras搭建Mask R-CNN实例分割平台实现源码_python_
- Keras目标检测mtcnn facenet搭建人脸识别平台_python_
- Python+radar实现随机日期时间的生成_python_
- python量化之搭建Transformer模型用于股票价格预测_python_
- 使用Python读写多个sheet文件_python_
- 如何使用Python 绘制瀑布图_python_
