如果不处理inf,可能导致报错:ValueError: Input contains NaN, infinity or a value too large for dtype('float64').

示例代码

首先构造inf,可以使用:np.inf,也可以使用float("inf"),其中inf指无穷大,-inf值无穷小

import pandas as pd
import numpy as npdataframe = pd.DataFrame(data=[[1, 2, np.inf],[4, 5, None],[7, 8, np.nan],[10, 11, 12],
])

判断是否:全部的值都有限

np.all(np.isfinite(dataframe))

判断行、列是否有限:

np.isfinite(dataframe).all()  # 判断这个维度的所有值 是否有限 True,True,False
np.isfinite(dataframe.T).all()  # 判断每个数据的所有值 是否有限 F F F T,这里nan/None也不是有限的值

替换掉不是有限的值:

dataframe.replace(np.inf, "我曾是inf")  # 局部精准的替换

删除值:

dataframe[np.isfinite(dataframe.T).all()]  # 选择所有有限的数据行(删除inf,nan所在行)
dataframe.loc[:, np.isfinite(dataframe).all()]  # 选择所有有限数据所在列(删除inf,nan所在列)

完整示例

import pandas as pd
import numpy as npdataframe = pd.DataFrame(data=[[1, 2, np.inf],[4, 5, None],[7, 8, np.nan],[10, 11, 12],
])# 判断全部的值都有限
np.all(np.isfinite(dataframe))# 判断是否有限
np.isfinite(dataframe).all()  # 判断这个维度的所有值 是否有限 True,True,False
np.isfinite(dataframe.T).all()  # 判断每个数据的所有值 是否有限 F F F T,这里nan/None也不是有限的值# 替换掉不是有限的值
dataframe.replace(np.inf, "我曾是inf")  # 局部精准的替换# 删除值
dataframe[np.isfinite(dataframe.T).all()]  # 选择所有有限的数据行(删除inf,nan所在行)
dataframe.loc[:, np.isfinite(dataframe).all()]  # 选择所有有限数据所在列(删除inf,nan所在列)

python pandas处理无限值inf相关推荐

  1. python_pandas入门(by offical document/reference)/loc和iloc操作/dataframe插入操作/pandas读取无表头的文件/查找某一列是否有某个值

    文章目录 Pandas starter starter:学习第一步 pandas数据结构概念 十分钟了解pandas的基本特性 ten minutes to learn about the basci ...

  2. python pandas数据清洗:sample()函数

    DataFrame.sample DataFrame.sample方法主要是用来对DataFrame进行简单随机抽样的. PS:这里说的是简单随机抽样,表示是不能用来进行系统抽样.分层抽样的. Dat ...

  3. 使用Python+Pandas+Statsmodels建立线性回归模型预测房价

    [综述] 本文通过使用Python+Pandas+Statsmodels建立简单一元线性回归模型.多元线性回归模型来预测房价. 主要内容来源自网页:https://www.learndatasci.c ...

  4. Python pandas库|任凭弱水三千,我只取一瓢饮(4)

    上一篇链接: Python pandas库|任凭弱水三千,我只取一瓢饮(3)_Hann Yang的博客-CSDN博客  R(read_系列2):  Function36~45 Types['Funct ...

  5. Python pandas库|任凭弱水三千,我只取一瓢饮(7)

    上一篇链接: Python pandas库|任凭弱水三千,我只取一瓢饮(6)_Hann Yang的博客-CSDN博客 to_系列函数:22个 (12~22) Function12 to_numpy(s ...

  6. Python pandas库|任凭弱水三千,我只取一瓢饮(6)

    上一篇链接: Python pandas库|任凭弱水三千,我只取一瓢饮(5)_Hann Yang的博客-CSDN博客 DataFrame 类方法(211个,其中包含18个子类.2个子模块) >& ...

  7. Python pandas在读取csv文件时(linux与windows之间传输),数据行数不一致的问题

    背景 最近在处理用户评论数据时,从Linux服务器上面用pandas导出的csv文件,下载到自己的Windows电脑,再用本地pandas读取时发现数据行数不一致的情况,比如在Linux服务器上面数据 ...

  8. Python pandas数据分列,分割符号固定宽度

    背景 数据分列在数据处理中很常见,数据分列一般指的都是字符串分割,这个功能在Excel里面很实用,处理数据非常方便,那么在pandas数据框中怎么使用呢,今天这篇文章就来详细介绍下 分列 模拟数据 以 ...

  9. python pandas处理excel 统计数据_pandas数据分析输出excel产生文本形式存储的百分比数据,如何处理?...

    Apple iPhone 11 (A2223) 128GB 黑色 移动联通电信4G手机 双卡双待 4999元包邮 去购买 > 关键词: python.pandas.to_excel.文本形式存储 ...

最新文章

  1. CCIE试验备考之交换SPAN
  2. HUB管理步骤、桥端设置步骤和客户端使用步骤
  3. 如何查看某oracle实例下面定义了多少jobs
  4. 给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。
  5. Spring 组cxf宣布webservice
  6. AV1编码时间下降,接近使用水平
  7. 安装hive出现的各种问题(这些问题出现在spark连接mysql的时候)
  8. oracle sga pga mysql_修改Oracle数据库SGA和PGA大小
  9. wps的计算机在哪里设置密码,wps文件怎么设置和取消密码 wps文件密码设置和取消的步骤方法...
  10. sql sum()对空值的处理
  11. 动态打字效果 html,html5 svg酷炫的打字动画特效
  12. java中处理异常怎么越过,java – Spring Batch – 异常不可跳过
  13. python爬电影_零基础Python爬虫实现(爬取最新电影排行)
  14. 华硕固件默认ip_斐讯刷华硕固件后开启QOS限速的方法
  15. 数字地与模拟地解释及PBC底线布局
  16. 请问大家,有没有法学相关的毕业论文选题 ?
  17. VS2013扩展——Advanced JavaScript outlining,让js和css也折叠
  18. Flutter-设置信息本地持久化
  19. MySQL的基本操作(五)
  20. 啊哈,在PDD买了一套自己的盗版书

热门文章

  1. 流程在团队管理中的作用
  2. 快速傅立叶变换(FFT)的海面模拟
  3. setheading指令_set命令
  4. Vulkan in 30 minutes
  5. iPad Air 2完全评测:可怕的三核CPU、六核GPU
  6. 卡尔曼滤波——16.新的均值和方差
  7. 032——VUE中表单控件处理之复选框的处理
  8. Pure公司发布机架规模FlashBlade对象与文件存储方案
  9. linux一句话问答(网络无关篇+网络相关篇+程序开发篇+经典图书)
  10. Asp.Net 控件生命周期