专业的编程技术博客社区

网站首页 > 博客文章 正文

PowerQuery | 数据清洗实例应用(数据清洗技术步骤)

baijin 2024-10-14 08:11:53 博客文章 4 ℃ 0 评论

呐,等你关注都等出蜘蛛网了~

什么是数据清洗以及为什么要做数据清洗?

数据清洗(Data cleaning)– 对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。

在做数据可视化分析之前,我们都需要做数据清洗和数据建模。而第一步就是数据清洗,原始数据必须经过数据清洗将数据规范化,一致化之后才能进入数据建模阶段。有一种说法是,对于传统行业,数据建模和分析的能力只占1%的工作量,而数据清洗则占据了90%。尽管这种说法未必精确,但却反映了一个事实—数据清洗占据整个可视化分析的重要角色。

PowerQuery就是数据清洗的一项强悍的工具。

PowerQuery已经作为Excel2016的一部分,可以直接在Excel2016中打开。而Excel2013则需要安装PowerQuery插件。

先来看看下图:

一眼看上去,好像没啥问题,甚至还挺好看的…(好看就是正义?)

再仔细观察一下,姓名列有些单元格暗藏空格符号,强制换行符号;英文名三列字母的大小写太随意,甚至英文全名的中间还暗含了多个空格符;出生年份字段走的则显然是“混搭风格”。所以,其实这份数据是一份“很脏”的数据。

遇到这种问题,熟悉Excel的同学会马上拿起鼠标,“来来来,我教你用函数!”当然是可以的,用Excel的文本函数LEFT, RIGHT, LEN, MID, PROPER, FIND, 组合嵌套,最终一定是可以完成清洗的。但是比较繁琐,涉及的函数多,还要相互嵌套。

然而,在PowerQuery中要对上述数据进行清洗就要简单得多,完全图形化界面的操作。

首先,将数据导入到PowerQuery中。

“姓名”字段:有些名字的前后有空格符号,强制换行符或者其他不可打印的符号,我们用“修整”和“清除”命令,即可将前后空格以及不可打印全部删除掉。真正的“两键”删除。

英文名的三个字段:这里所有的英文名都应该统一为首字母大写。用“每个字词首字母大写”,“一键变身”。

也许有细心的同学发现了,”Jack Li”, “Mini Li” 这个两个英文名的姓和名之间还有多个空格啊,这个时候用“修整”命令就不起作用了—因为,“修整”命令针对的是前导空格和后尾随空格。OK,换个思路,我们可以先对此字段拆分,再清除空格,然后再合并。

“出生年份”字段:用“替换值”的命令。与Excel中的差异是,PowerQuery中对某一列进行替换操作的时候,要确保此字段的格式为“文本”,将“年”替换为空值,然后再转换为整数。

在Excel中可不能这样将文本转换成整数哦。

最后我们再来对比一下数据清洗前后的变化:

是不是整洁多了呢?而整个过程中我们都无需使用函数。同时,清洗后的数据可以随着源数据变化一键刷新。

PowerQuery还有更多更强悍的工具,后续我会陆续跟大家分享。

声明:此文为本人原创。

如果你希望得到Excel练习文件,请在后台(不是文章留言哦)发送“数据清洗”即可获得文件下载链接。

欢迎关注我,一起玩Office。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表