数据清洗步骤及常用的方法

2023-05-16

流程

确定数据分析目的-获取数据-清洗数据-探索数据-建模分析-结果交流
探索数据:对整个数据集有全面的认识,一边后续开展工作
建模分析:常常用到机器学习、深度学习算法
结果:使用报告、图表展示数据,将成果与他人分享
脏数据:重复、残缺、错误数据、不符合规则的数据(噪声数据)
分为数据的读写、数据的探索与描述、数据简单处理、重复值处理、缺失值处理、异常值处理、文本字符串的处理、时间格式序列的处理。除了前三个以外顺序可以调整。

数据读写

pd.read_csv()
pd.read_excel()

数据的探索与描述

df.info()
df.head()
df.shape
df.describe() #只显示数值型数据的描述统计

数据简单处理

  • 去除数据间的空格
    • 列表推导式
      df.columns = [x.strip() for x in df.columns.str]
    • df.columns = df.columns.str.strip()

英文字母大小写转换

重复值处理

duplicated() #分为两种,一种是前面的是True,一种是后为True
drop_duplicates() #不在原数据集上改变,需要加inplace参数

去除掉重复行后,要进行索引重置

  • df.index = range(df.shape[0])
  • df.reset_index(drop) #drop为True,删除之前的索引后重建索引

缺失值处理

df.isnall() 查看缺失值
df.notnull()
df.dropna() #删除缺失值
df.fillna() #填补缺失值
均值填充法
向前/后填充法
模型填充,如随机森林,KNN

可以根据每一列,一次一次找缺失值

异常值处理

删除异常值记录行或列
作为缺失值处理
平均值修正、盖帽法修正
不处理:业务分析挖掘价值

根据统计学知识找3个标准差外的为异常值:
sta = (x-x.mean())/x.std()
sta.abs()>3 #即为异常值

对于建模来说,通常会删掉异常值
对于业务来说,异常值可能包含隐含信息,意味着更多的价值

文本字符串处理

去除前后空格处理
处理中间有, ()之类的数据
正则表达式提取有用信息

df[‘酒店评分’] = df.酒店.str.extract(pattern, expand=False)
expand=True 返回index/Series
expand=False 返回DataFrame

时间格式序列处理

将系统时间格式化
系统时间与时间戳转换
年月日的提取

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据清洗步骤及常用的方法 的相关文章

随机推荐