[转载] dataframe中有关inf的处理技巧
参考链接: Python中的numpy.isposinf
numpy中inf的相关文档
什么是inf?
IEEE 754浮点表示(正)无穷大。
为什么会产生?
>>> np.NINF
-inf
>>> np.inf
inf
>>> np.log(0)
-inf
>>> np.array([1,2])/0 #碰到的最多的情况
array([ inf, inf])
产生inf有什么好处?
目前没看到有什么好处,只是单纯用inf表示无穷大,方便理解和表示。
产生inf有什么坏处?
对用户而言,对inf需要特殊处理,加大了工作量。 为什么需要特殊处理?因为许多机器学习算法库并不支持对inf的处理。
怎么处理?
常见的处理方法:
不处理替换
怎么获取到inf的所在位置并进行填补?
'''
isinf:显示哪些元素为正或负无穷大
isposinf:显示哪些元素为正无穷大
isneginf:显示哪些元素为负无穷大
isnan:显示哪些元素不是数字
isfinite:显示哪些元素是有限的(不是非数字,正无穷大和负无穷大中的一个)
'''
>>> np.isinf(np.inf) #其他函数同理使用,isinf使用最多。
True
>>> np.isinf(np.array([1,np.inf]))
array([False, True], dtype=bool)
>>>np.isinf(pd.DataFrame(np.array([1,np.inf])))
0
0 False
1 True
>>>s1 = pd.Series([1,2,3,np.inf])
>>>s1
0 1.0
1 2.0
2 3.0
3 NaN
dtype: float64
#对inf填补 999
>>>s1[np.isinf(s1)] = 999
>>>s1
0 1.0
1 2.0
2 3.0
3 999.0
dtype: float64
#对inf填补np.nan (较为常用)
>>>s1[np.isinf(s1)] = np.nan
>>>s1
0 1.0
1 2.0
2 3.0
3 NaN
dtype: float64
以上就是本文的内容,觉得好的可以关注下。
[转载] dataframe中有关inf的处理技巧相关推荐
- 生成新的dataframe_Python之Pandas使用系列(九):DataFrame中列操作的技巧
介绍 本文将讨论使用iloc处理具有大量列的数据集的一些技巧和捷径.即使您有使用iloc的经验,也应该学习一些有用的技巧来加快自己的分析速度,并避免在代码中键入很多列名. 为什么我们关心选择列? 在许 ...
- [转载] 使用Python在Pandas Dataframe中建立索引
参考链接: 用Pandas建立索引并选择数据 In Numpy arrays, we are familiar with the concepts of indexing, slicing, and ...
- 直接在PDF文件中改变字体的小技巧
2019独角兽企业重金招聘Python工程师标准>>> PDF文件大家接触的还是蛮多的,今天要给大家介绍一下直接在PDF文件中改变字体的小技巧,想来应该有蛮多小伙伴需要的. 具体操作 ...
- python对excel某一列去重-「总结篇」Python中所有的Excel操作技巧
原标题:「总结篇」Python中所有的Excel操作技巧 Python对于Excel的操作是多种多样的,掌握了相关用法就可以随心所欲的操作数据了! 操作xls文件 xlrd(读操作): import ...
- Fiddler使用过程中容易忽略的小技巧
Fiddler使用过程中容易忽略的小技巧 fiddler的基本使用,在之前的一篇博文中有详细介绍,可参见Fiddler抓包工具使用详解,今天来分享几个容易忽略的小技巧. 1.ios机装了证书,依然抓不 ...
- 如何基于列值从DataFrame中选择行?
本文翻译自:How to select rows from a DataFrame based on column values? How to select rows from a DataFram ...
- iOS开发UI篇—IOS开发中Xcode的一些使用技巧
iOS开发UI篇-IOS开发中Xcode的一些使用技巧 一.快捷键的使用 经常用到的快捷键如下: 新建 shift + cmd + n 新建项目 cmd + n 新建文 ...
- Lasso 和 Ridge回归中的超参数调整技巧
在这篇文章中,我们将首先看看Lasso和Ridge回归中一些常见的错误,然后我将描述我通常采取的步骤来优化超参数.代码是用Python编写的,我们主要依赖scikit-learn.本文章主要关注Las ...
- [转]Python中找出dataframe中的重复的行 DataFrame.duplicated()方法
● 选择题 以下关于DataFrame.duplicated()函数说法错误的是: A 该函数用于标记dataframe中内容重复的行 B 该函数返回值是一个序列,True表示重复 C 行内容被判定重 ...
最新文章
- 使用MLX90640自制红外热像仪(四):stm32f103c8t6刷320x240分辨率屏的时间测试
- [FLASH_AS]Flash as3 addEventListener事件监听传递参数
- CCF 2020年题目题解 - Python
- Linux内存管理初探
- 转:IDEA 创建类注释模板和方法注释模板
- JAVA入门级教学之(关系运算符)
- 【LeetCode笔记】581. 最短无序连续子数组(Java、数组)
- UIButton 的简单运用
- Ceres配置(vs2013+Win10)
- Thinkpad SU使用方法FOR 2008
- 同一程序在不同版本的framework下控件中英文显示的问题
- java httpclient 下载_java HttpClient 下载一张图片
- vs code 小霸王插件本地nes游戏加载
- 易语言窗口c_句柄取进程名,易语言进程id取窗口句柄
- 空洞(扩张dilated)卷积
- MySQL——MySQL高可用之 MMM多主复制管理器
- 使用音频分析工具audacity分析wave文件
- 全球首发!惯性导航导论(剑桥大学)第三部分
- 如何检查计算机上安装的DirectX版本?
- 联想R7000P莫名其妙黑屏问题记录
热门文章
- 【Luogu2085】最小函数值(优先队列)
- 【NOIP2001】【codevs1039】数的划分
- 【2018.1.14】关于本蒟蒻
- UVa1586 - Molar mass
- java 军工_为什么军工行业不用java而是选择继续用c(对于业务系统Java是非常合适的而不带操作系统的板子甚至可以做到微秒级别的实时控制)...
- JavaScript文档对象模型获取body元素对象和获取Html元素对象(3)
- java tostring的用处_java中的toString什么意思?toString有什么用?
- Educational Codeforces Round 54 (Rated for Div. 2): D. Edge Deletion(最短路树)
- Codeforces Round #197 (Div. 2): C. Xenia and Weights(记忆化搜索)
- Codeforces Round #468 (Div. 2): C. Laboratory Work(贪心)