广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Pandas如何处理DataFrame中的inf值
  • 726
分享到

Pandas如何处理DataFrame中的inf值

2024-04-02 19:04:59 726人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录如何处理DataFrame的inf值DataFrame有关inf的处理技巧什么是inf?为什么会产生?产生inf有什么好处?产生inf有什么坏处?怎么处理?怎么获取到inf的所在

如何处理DataFrame的inf值

在用DataFrame计算变化率时,例如(今天-昨天) / 昨天恰好为(2-0) / 0时,这些结果数据会变为inf。

为了方便后续处理,可以利用numpy,将这些inf值进行替换。

1. 将某1列(series格式)中的 inf 替换为数值。

import numpy as np
 
df['Col'][np.isinf(df['Col'])] = -1

2. 将某1列(series格式)中的 inf 替换为NA值。

import numpy as np
 
df['Col'][np.isinf(df['Col'])] = np.nan

3. 将整个DataFrame中的 inf 替换为数值(空值同理)。#感谢评论区的补充

import numpy as np
 
df.replace(np.inf, -1) #替换正inf为-1
 
#替换正负inf为NA,加inplace参数 
df.replace([np.inf, -np.inf], np.nan, inplace=True)

DataFrame有关inf的处理技巧

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Pandas如何处理DataFrame中的inf值

本文链接: https://www.lsjlt.com/news/117796.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Pandas如何处理DataFrame中的inf值
    目录如何处理DataFrame的inf值DataFrame有关inf的处理技巧什么是inf?为什么会产生?产生inf有什么好处?产生inf有什么坏处?怎么处理?怎么获取到inf的所在...
    99+
    2022-11-11
  • Pandas:如何修改DataFrame中某一列的值?
    写这篇博客主要是因为在修改DataFrame列值的时候经常遇到bug,但到目前还没把这种错误复现出来。   DataFrame是Pandas中的主要数据结构之一,本篇博客主要介绍如何DataFr...
    99+
    2023-09-01
    pandas python 数据分析
  • Python  处理 Pandas DataFrame 中的行和列
    目录处理列处理行前言: 数据框是一种二维数据结构,即数据以表格的方式在行和列中对齐。我们可以对行/列执行基本操作,例如选择、删除、添加和重命名。在本文中,我们使用的是nba.csv文...
    99+
    2022-11-11
  • 如何使用pandas中DataFrame检测重复值
    这篇文章主要介绍如何使用pandas中DataFrame检测重复值,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本文详解如何使用pandas查看dataframe的重复数据,判断是否重复,以及如何去重DataFram...
    99+
    2023-06-15
  • 如何向Pandas中的DataFrame添加行
    这篇文章给大家分享的是有关如何向Pandas中的DataFrame添加行的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。您可以使用df.loc()函数在Pandas DataFrame的末尾添加一行:#add&nb...
    99+
    2023-06-29
  • 详解Pandas如何高效对比处理DataFrame的两列数据
    目录楔子combine_firstcombineupdate楔子 我们在用 pandas 处理数据的时候,经常会遇到用其中一列数据替换另一列数据的场景。比如 A 列和 B 列,对 A...
    99+
    2022-11-11
  • pandas中NaN缺失值的处理方法
    本文主要介绍了pandas中NaN缺失值的处理方法,主要有两种方法,具体如下: import pandas as pd 缺失值处理 两种方法: 删除含有缺失值的样本 替换/插补 处理缺失...
    99+
    2022-06-02
    pandas NaN缺失值 python 缺失值
  • 如何使用pandas或numpy处理数据中的空值
    这篇文章主要介绍如何使用pandas或numpy处理数据中的空值,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.关于np.nan:先明确一个问题,即空值的产生只有np.nan()一种方法。# np.nan...
    99+
    2023-06-15
  • 使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
    最近在做数据处理的时候,遇到个让我欲仙欲死的问题,那就是数据中的空值该如何获取。 我的目的本来是获取数据中的所有非零且非空值,然后再计算获得到的所有数据计算均值,再用均值把0和空值填...
    99+
    2022-11-12
  • 如何使用Python的pandas库获取DataFrame数据的最小值、最大值以及自定义分位数?
    一、如何使用Python的pandas库获取DataFrame数据的最小值、最大值以及自定义分位数? Pandas是一个非常流行的Python数据处理库,它提供了大量的方法和工具来处理和分析数据。在本...
    99+
    2023-09-29
    pandas python 数据分析
  • 如何在pandas中统计重复值的次数
    本篇文章为大家展示了如何在pandas中统计重复值的次数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。具体如下:from pandas import DataFrame...
    99+
    2023-06-06
  • 如何进行Pandas库中时间序列的处理
    这期内容当中小编将会给大家带来有关如何进行Pandas库中时间序列的处理,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在使用Python进行数据分析时,经常会遇到时间日期格式处理和转换,特别是分析和挖掘与...
    99+
    2023-06-02
  • 如何处理JavaScript 中的货币值?
    金钱无处不在。       无论在银行应用程序、电子商务网站还是证券交易所平台,我们每天都在与金钱互动。我们也越来越依赖技术来处理问题。       然而,关于...
    99+
    2023-06-03
  • 如何在Pandas中根据条件替换列中的值
    方法1:使用dataframe.loc[]函数 通过这个方法,我们可以用一个条件或一个布尔数组来访问一组行或列。如果我们可以访问它,我们也可以操作它的值,是的!这是我们的第一个方法,通过pandas中的dataframe.loc[]函数,我...
    99+
    2023-09-12
    python pandas
  • JavaScript中值为undefined如何处理
    JavaScript中值为undefined如何处理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。而在JavaScript里,当你要获取一个变...
    99+
    2022-10-19
  • python如何使用dataframe将csv中的0值数据转化为nan缺失值字样
    这篇文章主要介绍python如何使用dataframe将csv中的0值数据转化为nan缺失值字样,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!用到这个语句。c[c==0]=np.nan我们具体来看一下c和np是什么n...
    99+
    2023-06-20
  • 如何使用Lambda来修改Pandas数据框中的值
    这篇文章主要为大家展示了“如何使用Lambda来修改Pandas数据框中的值”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用Lambda来修改Pandas...
    99+
    2022-10-19
  • pandas如何将表中的字符串转成数值型
    目录pandas将表中的字符串转成数值型扩展:pandas 把某一列中字符串变数值_Pandas对文本数据处理一、str属性二、替换和分隔三、提取子串1、提取第一个匹配的子串四、生成...
    99+
    2023-02-21
    Pandas文本数据处理 pandas字符串转成数值型
  • 在Java中如何处理数组中的空值?
    在Java中,数组是一种常见的数据类型,它可以存储一组相同类型的数据。但是,在实际开发中,我们经常会遇到数组中存在空值的情况。这时,我们需要对数组中的空值进行处理,以确保程序的正确性和稳定性。 本文将介绍在Java中如何处理数组中的空值,包...
    99+
    2023-09-30
    数组 bash windows
  • Kotlin语言中是如何处理null值的
    Kotlin语言中是如何处理null值的?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Kotlin null的处理详解NullPointerException,...
    99+
    2023-05-31
    kotlin null
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作