数据清洗及处理:
1.观察缺失值,并查看特征缺失值的个数
方法一:
df.info()#列出本组数据的一些相关信息
方法二:
df.isnull().sum()#pandas判断缺失值一般采用 isnull(),生成的是所有数据的true/false矩阵
此处若用df[df.isnull().values==True],可以清晰看到缺失值所在的行列信息(如下图)(因为缺失值默认识别为True,不然会把所有数据输出)
方法三:
df[['Age','Cabin','Embarked']].head(3)
pandas中head()默认只读取前五行
2.对特征值进行处理
1.缺失值处理:
none、isnull、np.nan这里简单概括一下
dropna 对缺失的数据进行过滤
fillna 用指定值或插值的方法填充缺失数据
2.重复值处理:
附个大佬的去除重复值的文章
灵活运用duplicated(),他会把重复值标记为True,否则标为False,默认后面出现的被标记为True
3.离散化处理:
文中提到可以用以下三种方法:
(1) 将连续变量Age平均分箱成5个年龄段,
并分别用类别变量12345表示(2) 将连续变量Age划分为(0,5] (5,15] (15,30] (30,50]
(50,80]五个年龄段,
并分别用类别变量12345表示(3) 将连续变量Age按10% 30% 50% 70% 90%五个年龄段,
并用分类变量12345表示
可以看出,都是对数据依据大小或其他进行归纳,在不改变数据相对大小的条件下,对数据进行相应的缩小。所以离散化处理仅适用于注重数据大小关系的场景。