首页 > 编程语言 >Python教程:空值、无穷值判断之isna、isnull、isfinite

Python教程:空值、无穷值判断之isna、isnull、isfinite

时间:2024-07-04 16:23:15浏览次数:16  
标签:isna Python isnull np pd df isfinite

一、空值 isna

Pands 中 NaN(Not-A-Number) 视为空值,利用函数 isna 和 notna 进行判断。

注意:不要利用是否等于None判断是否为空!

import pandas as pd

pd.NA == None # False
pd.isna(pd.NA) # True
pd.isna(None) # True
pd.notna(pd.NA) # False
pd.notna(None) # False

二、是否为空 isnull

import pandas as pd
import numpy as np

df = pd.DataFrame(np.arange(12).reshape(3,4))
df.iloc[1,1] = np.NaN

df.isnull()
df.isnull().sum() # 按列查看
np.any(df.isnull())
np.all(df.isnull())

# 空值填充
df.fillna(0)

三、isnull & isna 区别

isna 判断是否数值,一般是数值类型的null。

isnull 判断字符型是否有值,可以判断所有的空值,常用于数据框 DataFrame 当中。

四、无穷值 isfinite

Pandas 中无穷值为 inf 和 -inf 表示。

如果不处理,可能导致报错:ValueError: Input contains NaN, infinity or a value too large for

dtype('float64').。

import pandas as pd
import numpy as np

df = pd.DataFrame(np.arange(12).reshape(3,4))
df.iloc[0,2] = np.inf
df.iloc[1,2] = None
df.iloc[2,2] = np.nan
df
'''
   0  1    2   3
0  0  1  inf   3
1  4  5  NaN   7
2  8  9  NaN  11
'''

判断数据是否为有限

#学习中遇到问题没人解答?小编创建了一个Python学习交流群:725638078
# 判断是否有限
np.isfinite(df)
np.all(np.isfinite(df)) # 全部
np.isfinite(df).all() # 按列
np.isfinite(df.T).all() # 按行

替换无限值

# 替换
df.replace([np.inf, -np.inf], 0)

删除无限值所在行列

df[np.isfinite(df.T).all()] # 删除行
df.loc[:, np.isfinite(df).all()] # 删除列

标签:isna,Python,isnull,np,pd,df,isfinite
From: https://www.cnblogs.com/xxpythonxx/p/18284082

相关文章

  • Python教程:os.popen(cmd).read()查看后台进程并杀进程
    一、os.popen()方法1.使用语法os.popen()方法用于从一个命令打开一个管道。os.popen(cmd).read()获取执行后结果。os.popen(command[,mode[,bufsize]])#使用的命令#模式权限:默认'r'或者'w'#文件需要的缓冲大小0无缓冲1行缓冲其他数值以字节为单位负值使用系统......
  • Python多维列表(元组)合并成一维形式
    一.需求原格式:input=[[1,2,3],[4,5,6],[7,8,9]]目标格式:[1,2,3,4,5,6,7,8,9]二.方法1.sum函数合并input=[[1,2,3],[4,5,6],[7,8,9]]output=sum(input,[])print(output)#结果:[1,2,3,4,5,6,7,8,9]这个看上去很简洁,不过有类似字符串累加的性能陷阱。......
  • Python Linux源码安装
    保留服务器原Python安装版本,安装指定需求版本Python1.查看当前系统版本[root@iZbp1ac4pv22mg092qi2zfZ~]#cat/etc/system-releaseCentOSLinuxrelease7.9.2009(Core)2.查看已安装Python路径及版本[root@iZbp1ac4pv22mg092qi2zfZ~]#whichpython/usr/bin/python[ro......
  • 有趣的Python库——CowSay
    有趣的Python库——CowSay安装:pipinstallcowsay命令式使用:cowsay-cpig-t你好,我是一只猪哦!输出:__________|你好,我是一只猪哦!|==========\\\\,.(_|,......
  • 40个Python函数-助你快速成为编程高手
    40个Python函数-助你快速成为编程高手1、「len()」-返回对象的长度或项目数。length=len("Hello,World!")#返回132、「str()」-将对象转换成字符串。string_representation=str(123)#返回'123'3、「type()」-返回对象的类型。type_of_var=type......
  • 第15届蓝桥杯Python青少组选拔赛(STEMA)2023年8月真题-附答案
    第15届蓝桥杯Python青少组选拔赛(STEMA)2023年8月真题题目总数:11总分数:400真题下载点我百度网盘......
  • xalpha-一个可以预测股票,基金走势的Python库
    xalpha-一个可以预测股票,基金走势的Python库xalpha是什么xalpha是一个开源的Python库,主要用于量化投资和数据分析。它集成了大量的金融数据接口,提供了丰富的API用于股票、期货、外汇等金融数据的获取和处理。xalpha的设计简洁明了,易于上手,让初中级程序员也能轻松地进行金......
  • ChatterBot-基于Python库的聊天机器人框架
    ChatterBot-基于Python库的聊天机器人框架ChatterBot是什么ChatterBot是一个基于Python的聊天机器人框架,它可以帮助我们快速地创建各种聊天机器人。它使用了NLP(自然语言处理)技术,可以理解和回答用户的问题。ChatterBot的设计目标是易于使用,灵活,支持多种输出格式,如文本、语......
  • 地表最强的Python开源库,可让微信秒变助手的-itchat
    地表最强的Python开源库,可让微信秒变助手的-itchatitchat是什么itchat是一个开源的Python库,主要用于微信个人号的接口。通过这个库,开发者可以实现自动回复、模拟人工操作、实现机器人等功能。itchat的出现极大地降低了微信个人号开发的门槛,让更多的开发者能够轻松地实现......
  • 钉钉应用开发-Python操作钉钉文档(excel版)
    钉钉应用开发-Python操作钉钉文档一:服务端SDK下载服务端SDK下载-钉钉开放平台(dingtalk.com)pip3installalibabacloud_dingtalk二:钉钉开放平台开发者后台(dingtalk.com)基础概念-钉钉开放平台(dingtalk.com)2.1:创建应用2.2:获取应用基本信息2.3:权限申请,获取......