我是靠谱客的博主 高贵书本,最近开发中收集的这篇文章主要介绍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()对比所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复