前言
本文参照《利用Python进行数据分析》一书,介绍了对Series和DataFrame对象进行缺失值处理的一些方法
缺失值处理
1. isnull方法
isnull方法用于判断哪些值为缺失值(NaN),并返回布尔值
举例如下:
import pandas as pd
from numpy import nan as NA
data = pd.DataFrame([[1., 6.5, 3.], [1., NA, NA],
[NA, None, NA], [NA, 6.5, 3.]])
print(data)
print(data.isnull())
输出依次为:
# data
0 1 2
0 1.0 6.5 3.0
1 1.0 NaN NaN
2 NaN NaN NaN
3 NaN 6.5 3.0
# data.isnull()
0 1 2
0 False False False
1 False True True
2 True True True
3 True False False
值得一提的是,python内建的None值也被当做NaN处理(见data[2][1])
isnull方法并不改变原对象,不信可以试着再输出data试试?
另有一个notnull方法,用法与isnull相似,作用与其相反
2.dropna方法
- dropna方法用于过滤缺失值,默认会删除包含缺失值的行
- 同样的,该方法也不改变原对象
举例如下:
import pandas as pd
from numpy import nan as NA
data = pd.DataFrame([[1., 6.5, 3.], [1., NA, NA],
[NA, None, NA], [NA, 6.5, 3