没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
一、 实验目的
(1) 了解数据清洗的重要性;
(2) 掌握如何有效地进行数据清洗;
(3) 体会一些思考问题的逻辑思维。
二、 实验环境
操作系统:Windows
应用软件:Python 3.6、Notepad++、Excel
三、 实验内容
3.1 为什么要数据清洗?
现如今是一个大数据的时代,统计学家在谈论什么事情都绕不开数据这个主
角。但很多时候,我们收集得来的数据是乱七八糟的,所以数据清洗就在数据
科学的过程中显得尤为重要了。只有得到了干净的数据,我们才能够对数据进
行进一步的分析和可视化。同时,我们也要记得写好清洗日志和做好数据备份。
3.2 如何进行数据清洗?
因为数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序,
包括检查数据一致性,处理无效值和缺失值等,所以我将数据清洗过程归结为
以下五个流程:
解决缺失值
↓
检测并消除重复值
↓
检测并解决错误值
↓
检测并解决不一致性
↓
数据预处理
虽然我将数据清洗过程归纳为以上五个流程,但其实数据清洗一般针对具
体应用,因而难以归纳统一的方法和步骤,不过根据数据不同可以给出相应的
数据清洗方法。以上的流程只是方便我接下来的介绍,而在实际应用时你可能
需要不止一次地执行这些清洗操作,所以我们需要写好清洗日志,记录下那些
数据清洗的具体操作。
3.2.1 解决缺失值
大多数情况下,缺失值必须手工填入(即手工清理)。而本例介绍的是利
用 Python 中的 llna() 来对大量数据进行填补缺失值,还有 dropna()可以
直接将包含空值的数据删除。一般情况下,会以平均值、最大值、最小值或更
为复杂的概率估计代替缺失值,具体问题具体分析,重点在于补全值对原数据
的影响不大。
以下<缺失值.py>代码用到 Kaggle 中的 Titanic 数据集(可见“mydata”
文件夹中的 train.csv)
解决缺失值
需要提前在 中输入 和 命
令来安装两个包
!"!!#$!!%
用 %方法读入 ,读入后数据的类型默认是 #&
选择用于训练的特征
'()(*+(,((&(-,$.
)'.
)%
用 #&%方法得到它的列变量信息,通过信息可看出训练数据中
*+(-,$ 存在缺失值
)')%/.
数据框引用某一列有两种方式,一个是用引用,一个是'.引用
%会返回一个值是 , 的 序列,所以上一句代码可以返回含有
缺失值的行和列,从而找到缺失值的位置
*+ 是数值型数据,可以使用平均值来补全空值,尽量减小补全值对结果的影
响。
使用平均年龄来填充年龄中 值
)'*+.0)'*+.%(/%
0%会填充 数据,返回填充后的结果。如果希望在原 #& 中修改,
则把 设置为 /
-,$ 是类别数据,取出现次数最多的类别来补全空值。
使用登录最多的港口来填充登录港口的 值
)'-,$.%%
)'-,$.0(/%
重新检查数据中是否存在缺失值
)%
运行结果如下:
3.2.2 检测并消除重复值
数据中属性值相同的记录被认为是重复记录,通过判断记录间的属性值是
否相等来检测记录是否相等,相等的记录合并为一条记录,简称为去重。
本例主要用到了 Python 中的 duplicated()和 drop_duplicates(),
前者标记出哪些是重复的(true),后者直接将重复删除。
以下<去重.py>代码沿用上例的 Titanic 数据集(可见“mydata”文件夹中
的 train.csv)
检测并消除重复值
!"!!#$!!%
'()(*+(,((&(-,$.
)'.
)%通过信息可知 ) 是一个 12345 的数据框
)%%输出重复行
剩余18页未读,继续阅读
资源评论
- 贼仙呐2023-07-27这个文件提供了一些不错的数据清洗方法,对于想要学习Python数据处理的人来说是个不错的参考。
- 杜拉拉到杜拉拉2023-07-27这个文件的实用性很高,在实际工作中,我尝试了其中的一些方法,结果非常有效。
- 萱呀2023-07-27这个文件对于初学者来说也很友好,它提供了一些具体的例子,帮助我更好地理解了Python数据清洗的概念和步骤。
- lirumei2023-07-27作者在这个文件中分享了一些实际项目中遇到的数据清洗问题,并给出了解决方案,这让我受益匪浅。
- 山林公子2023-07-27这份文件使用简洁清晰的语言,帮助我快速理解了数据清洗的基本原理和方法。
丹儿993
- 粉丝: 2
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功