查看空值
复制代码
1
2
3
4
5
6df.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
2df.dropna(axis=0, how='any', inplace=True)
axis:0-行操作(默认),1-列操作
how:any-只要有空值就删除(默认),all-全部为空值才删除
inplace:False-返回新的数据集(默认),True-在愿数据集上操作
对某一列进行判断并删除整行:
复制代码
1
2mydf.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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复