3-Pandas数据初探索之如何查找存在缺失值的行(any与all详解)
若有一份数据,简略如下:
国家 | 啤酒消耗量 | 烈酒消耗量 | 红酒消耗量 | 总酒精消耗量 | 所在大洲 | |
---|---|---|---|---|---|---|
0 | Afghanistan | 0.0 | 0.0 | 0.0 | 0.0 | AS |
1 | Albania | 89.0 | 132.0 | 54.0 | 4.9 | EU |
现在的需求为:需要将数据中含有缺失值的行进行提取
步骤1:使用isnull()返回是否是缺失值。isnull()会对DataFrame中的每个元素进行缺失值检查,若为缺失值返回True;不是缺失值返回False;最终返回一个DataFrame.
>>>miss = drink.isnull()
>>>miss.head(3)
国家 | 啤酒消耗量 | 烈酒消耗量 | 红酒消耗量 | 总酒精消耗量 | 所在大洲 | |
---|---|---|---|---|---|---|
0 | False | False | False | False | False | False |
1 | False | False | False | False | False | False |
2 | False | False | False | False | False | False |
步骤2:找到存在缺失值的行。使用any,并设定axis=1,则当每一行中存在缺失值时就会返回True;若需要找到所有缺失值都为True的行则使用all即可。
>>>miss.any(axis=1)
0 False
1 False
2 False
3 False
4 False
dtype: bool
步骤3:通过步骤1、2即可得到存在缺失值的行索引
>>>drink[miss.any(axis=1)==True].head(3)
国家 | 啤酒消耗量 | 烈酒消耗量 | 红酒消耗量 | 总酒精消耗量 | 所在大洲 | |
---|---|---|---|---|---|---|
5 | Antigua & Barbuda | 102.0 | 128.0 | 45.0 | 4.9 | NaN |
11 | Bahamas | 122.0 | 176.0 | 51.0 | 6.3 | NaN |
14 | Barbados | 143.0 | 173.0 | 36.0 | 6.3 | NaN |