pandas数据清洗常用操作总结(二)


连续数值数据和有意义的离散数据,才能够送入到模型进行训练, 对于缺失值、字符串数据和离散数据必须做处理

1 缺失值检测和处理

(1)检测
df.info() 或 df.isnull()
数据量比较大:用np.sum(df.isnull().any()) 和 np.sum(df.isnull().all())
(2)处理
a.删除法;
DataFrame.dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)
axis=0 : 按行删除; axis=1, 按列删除
b.替补法:均值、众数、中位数;
DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
c.插补法

2 离散数据处理

主要是独热编码和映射处理

(1) 离散特征的取值没有大小意义

比如 book :[Chinese, math, history], 那么就使用独热编码
——如果是字符串数据,比如 book :[Chinese, math, history]
直接独热编码:pandas.get_dummies
——如果是数字数据
将其转化为array数据结构, 再调用sklearn.preprocessing.OneHotEncoder() 对其进行编码

(2) 离散特征的取值有大小意义

比如size:[X,XL,XXL], 那么就使用数值的映射{X:1,XL:2,XXL:3}
——如果是字符串数据,比如size:[X,XL,XXL]
size_mapping ={‘X’:1,‘XL’:2,‘XXL’:3}
df[‘size’] = df[‘size’].map(size_mapping )
——如果是数字数据, 比如size:[1,2,3]
不用处理,直接使用就可以了

3 其它数据转换

特殊情况:题意规定某特征有四类, 但是在收集数据的时候,该特征有22种类别
(1)将22种类别映射为4类;
(2) 根据情况按照步骤2进行清洗处理。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值