缺失值处理
目录
一、缺失值的概括
二、缺失值的产生
三、缺失值处理
四、对含有缺失值的列转换后的影响
一、缺失值的概括
缺失值从缺失的分布来讲可以分为完全随机缺失,随机缺失和完全非随机缺失。
完全随机缺失(missing completely at random,MCAR)指的是数据的缺失是随机的,数据的缺失不依赖于任 何不完全变量或完全变量。例如一个班有五名同学的数学成绩缺失,缺失原因是课代表去送卷子的时候,路上一阵 大风把卷子吹散了,找回来的时候少了五份试卷,完全随机的少了五个成绩,这种情况就是完全随机缺失 随机缺失(missing at random,MAR)指的是数据的缺失不是完全随机的,即该类数据的缺失依赖于其他完全变 量。例如缺失的五个数学成绩全是男生的,因为这个班的座次是一半男生一半女生,课代表收试卷的时候男生的试 卷全在上边,最先被风吹跑了五份,剩下的试卷被护住了,这五个成绩的缺失和学生考试成绩本身没关系,但是和学 生的座次有关系,这种情况就是随机缺失。
完全非随机缺失(missing not at random,MNAR)指的是数据的缺失依赖于不完全变量自身。例如缺失的五个数 学成绩是因为老师在判卷过程中,发现试卷的作答差的没法看,一气之下给撕了而导致成绩缺失,这个缺失只和成绩本身有关,与其他变量无关,这就是非随机缺失。
二、缺失值的产生
1、通过读取数据产生
data1=pd.read_excel('test3.xlsx') # 导入表格就存在缺失值
# 判断缺失值比较稳定的方法 pd.isna()
pd.isna(np.nan)
2、定义异常值为缺失值
#通过下面的命令执行,在数据框中性别的缺失值显示为NaN。
def f1(x):
if x in {
'男','女'}:
return x
else