pandas isnull函数检查数据是否有缺失

1.np.array.any()和numpy.array.all()

np.array.any()是操作,将np.array中所有元素进行操作,只要有一个为真,则返回True,否则返回Flase;

np.array.all()是操作,将np.array中所有元素进行操作,只要有一个为假,返回False,都为真,返回True。


import numpy as np
arr1 = np.array([0,1,2,3])
arr2 = np.array([True,True,True])
print(arr1.any()) #虽然有0,但其他的值有不是0存在
#result:True
print(arr1.all()) #只要有一个为0,就返回False
#result:False
print(arr2.any())
#result:True
print(arr2.all())
#result:True

2.判断np.array是否相等

首先,我们看一下list和np.array的区别:


lst1 = [1,3,5,7,9]
lst2 = [2,4,6,8,10]
print(lst1 == lst2)
#result:False
print(lst1 != lst2)
#result:True
import numpy as np 
 
arr1 = np.arange(10)
arr2 = np.arange(10)
print(arr1 == arr2)
#result:[ True  True  True  True  True  True  True  True  True  True]

可以看出:用 “=” 判断两个list 是否相同,返回的是True或False,而np.array返回的是每个元素值比较的列表。

那么如何比较两个np.array,而不是其中的元素呢?

arr1 = np.arange(10)
arr2 = np.arange(10)
print((arr1 == arr2).all())
#result:True

arr1 == arr2返回的仍然是np.array类型的数组,因此,再通过.all()方法即可判断arr1、arr2是否相等。

3.Python Pandas找到缺失值的位置

python pandas判断缺失值一般采用 isnull(),生成的是所有数据的true/false矩阵

1,df.isnull()

元素级别的判断,把对应的所有元素的位置都列出来,元素为空或者NA就显示True,否则就是False.对于样本很大的时候不推荐。

   
   0      1      2      3      4      5
0  False  False  False  False  False  False
1  False   True  False  False  False  False
2  False   True  False  False  False  False
3  False  False  False  False  False  False
4  False  False  False  False  False  False
5  False  False  False   True  False  False
6  False  False  False  False  False  False
7  False  False  False  False  False   True
8  False  False  False  False  False   True
9  False  False  False  False  False  False

2,df.isnull().any()

列级别的判断,只要该列有为空或者NA的元素,就为True,否则False
则会判断哪些”列”存在缺失值

3,df[df.isnull().values==True]

可以只显示存在缺失值的行列,清楚的确定缺失值的位置。

在这里插入图片描述

4,trian_data.columns[train_data.isnull().any()].tolist() #train-data是dataframe对象

将为空或者NA的列找出来
在这里插入图片描述

5,isnull().sum()

列中为空的个数统计出来

在这里插入图片描述

参考:

https://blog.csdn.net/qq_17753903/article/details/82707734

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值