我是靠谱客的博主 单薄网络,这篇文章主要介绍python中nan值判断与处理查看空值空值处理np.isnan()和pd.isnull()对比,现在分享给大家,希望可以做个参考。

查看空值

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

空值处理

填充

复制代码
1
2
3
4
#空值处理方式 data.fillna(data.mean(), inplace = True)#以均值填充 data.fillna(0, inplace = True)#以0填充

删除

删除空值所在的行:

复制代码
1
2
df.dropna(axis=0, how='any', inplace=True)

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

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

复制代码
1
2
mydf.dropna(subset=['列名'],inplace=True)

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

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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 首先创建一个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内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部