我是靠谱客的博主 高贵书本,最近开发中收集的这篇文章主要介绍python中nan值判断与处理查看空值空值处理np.isnan()和pd.isnull()对比,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

查看空值

df.head() #查看前5行数据
np.isnan(df).sum()  #获得nan的数量
np.isinf(df).sum()  #获得infinity的数量
df.isnull().any()   #判断哪些”列”存在缺失值
df[df.isnull().T.any().T]  #找出含有nan的所有行

空值处理

填充

#空值处理方式
data.fillna(data.mean(), inplace = True)#以均值填充
data.fillna(0, inplace = True)#以0填充

删除

删除空值所在的行:

df.dropna(axis=0, how='any', inplace=True)

axis:0-行操作(默认),1-列操作
how:any-只要有空值就删除(默认),all-全部为空值才删除
inplace:False-返回新的数据集(默认),True-在愿数据集上操作

对某一列进行判断并删除整行:

mydf.dropna(subset=['列名'],inplace=True)

subset参数指定列,inplace参数为修改原dataframe。如果不inplace=False或不设置,则需要接受修改后的返回数据。

np.isnan()和pd.isnull()对比

# 首先创建一个DataFrame:
bb = pd.DataFrame({'a':[0,1,2,np.nan]})
bb
 
>>>     a
    0	0.0
    1	1.0
    2	2.0
    3	NaN
 
# 先测试一下np.isnan()
np.isnan(bb)
>>>     a
    0	False
    1	False
    2	False
    3	True
# 值得一提的是,如果想获悉整个DataFrame有无空值,可以在此基础上这样做:
 
np.isnan(bb).all()
>>> a    False
    dtype: bool          # 这行是指返回值的dtype
 
# 再测试一下isnull()
pd.isnull(bb)
>>>     a
    0	False
    1	False
    2	False
    3	True

由上可见,其实np.isnan()和pd.isnull()都可以对不论是DataFrame、Python list还是仅仅一个数值进行空值检测。但一般在实际应用中,np.isnan()多用于单个值的检验,pd.isnull()用于对一个DataFrame或Series(整体)的检验。

参考资料:
https://blog.csdn.net/weixin_41712499/article/details/82719987
https://blog.csdn.net/weixin_42323343/article/details/98734039

在这里插入图片描述

最后

以上就是高贵书本为你收集整理的python中nan值判断与处理查看空值空值处理np.isnan()和pd.isnull()对比的全部内容,希望文章能够帮你解决python中nan值判断与处理查看空值空值处理np.isnan()和pd.isnull()对比所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部