谷歌数据分析 IV 笔记(全)
001:从脏数据到干净数据的处理 🧹

概述
在本节课中,我们将要学习数据处理阶段的核心任务:如何将原始、混乱的“脏数据”转化为完整、准确的“干净数据”。我们将探讨数据完整性的概念、数据清洗的技术与方法,以及如何在电子表格和数据库中进行实际操作。
数据完整性简介 📊
大家好,我是 Sally,是 Google 的测量与分析负责人。我的工作是帮助广告代理商和公司衡量成功并分析他们的数据。我经常与不同的人会面,向他们展示数据分析如何助力其广告业务。
说到分析,你们在之前的课程中已经学习了如何为分析收集和组织数据。这无疑是数据分析过程中的一个重要步骤。做得很好。
现在,让我们来谈谈如何确保你组织好的数据是完整和准确的。
干净的数据是确保你在分析前数据具有完整性的关键。我们将向你展示如何确保你的数据是干净和整洁的。
数据清洗和处理是整个数据分析过程的一部分。快速回顾一下,这个过程包括:提问、准备、处理、分析、分享和行动。这意味着现在是我们探索“处理”阶段的时候了,我将全程指导你。
我对你们现在的阶段非常熟悉。在参加一个类似的课程项目之前,我从未听说过数据分析。当我开始取得进展时,我意识到我多么喜欢数据分析以及它所能打开的大门。现在,我很高兴能帮助你们打开同样的大门。
在为不同公司工作的过程中,我意识到干净的数据在每个行业都很重要。例如,在我职业生涯早期,我就学会了要警惕重复数据,这是分析师在清洗数据时经常遇到的一个常见问题。
重复数据的挑战与影响
我曾经为一家公司工作,在我们的数据中有不同类型的订阅。每个用户每购买一种订阅类型,就会在数据中新增一行。这意味着用户会在我的数据中出现不止一次。
因此,如果我在统计一个表格中的用户数量时,没有像这样考虑去重,我就会将某些用户统计两次而不是一次。结果就是,我的分析会是错误的,这会导致我的报告以及依赖我分析的利益相关者出现问题。
想象一下,如果我告诉 CEO 我们的客户数量是实际的两倍。这就是为什么干净的数据如此重要。
数据处理的第一步:理解数据完整性
所以,数据处理的第一步是了解数据完整性。你将了解什么是数据完整性,以及为什么在整个数据分析过程中保持它很重要。
有时,你可能甚至没有你需要的数据,因此你必须自己创建它。这将帮助你了解样本大小和随机抽样如何节省你的时间和精力。
测试数据是处理数据时的另一个重要步骤。我们将在你的分析正式开始之前,分享一些关于如何测试数据的指导,就像你在日常生活中清洗衣服和餐具一样。
数据清洗:技术与场景
分析师也一直在清洗他们的数据。干净数据的重要性无疑将是这里的重点。你将学习适用于所有场景的数据清洗技术,以及在清洗过程中需要注意的一些陷阱。
你将探索在电子表格和数据库中进行数据清洗。基于你已经学到的关于电子表格的知识,我们将更多地讨论 SQL,以及你如何用它来清洗数据和做其他有用的事情。
当分析师清洗他们的数据时,他们所做的远不止抽查以确保操作正确。你将学习验证和报告清洗结果的方法。这包括记录你的清洗过程,我们将探讨这样做带来的诸多好处。
数据处理在分析中的定位
重要的是要记住,处理数据只是你作为数据分析师要完成的任务之一。实际上,当你开始找工作时,你的数据清洗技能可能正是你简历中需要突出的亮点。
说到简历,你将能够开始从数据分析师的角度思考如何构建自己的简历。完成本课程后,你将深刻体会到干净数据的重要性,以及它在数据分析过程中的关键作用。
总结
本节课中,我们一起学习了数据处理的核心阶段。我们明确了数据完整性的定义及其重要性,认识了重复数据等常见问题对分析的严重影响。我们还概述了数据清洗的基本步骤、技术工具(如电子表格和SQL),以及验证和记录清洗过程的必要性。记住,获得干净、可靠的数据是进行任何有效分析的基石。
002:谷歌数据分析师第四课《从脏数据到干净数据的处理》 📊

02_01_01 数据完整性的重要性 🔍

欢迎回来。在本视频中,我们将讨论数据完整性以及数据分析师可能遇到的一些风险。
一次强有力的分析依赖于数据的完整性。如果你使用的数据在任何方面受到损害,你的分析就不会像它应有的那样有力。
数据完整性是指数据在其整个生命周期中的准确性、完整性、一致性和可信赖性。这听起来像是数据需要满足的许多品质,但请相信,在进行分析之前检查所有这些品质是值得的。否则,你的分析可能是错误的。😊,这不是因为你做错了什么,而是因为你一开始处理的数据就是错误的。
当数据完整性低时,它可能导致从图像中丢失单个像素到做出错误的医疗决策等各种问题。在某些情况下,一个缺失的部分可能使你所有的数据都变得无用。
数据完整性可能以多种不同的方式受到损害。数据每次被复制、传输或以任何方式操作时,都有可能受到损害。
以下是数据完整性可能受损的几种主要方式:
- 数据复制:这是将数据存储在多个位置的过程。如果你在不同时间、不同地点复制数据,你的数据就有可能不同步。这种数据缺乏完整性,因为不同的人可能没有使用相同的数据来进行他们的发现,这可能导致不一致。
- 数据传输:这是将数据从存储设备复制到内存或从一台计算机复制到另一台计算机的过程。如果你的数据传输被中断,你最终可能会得到一个不完整的数据集,这可能无法满足你的需求。
- 数据操作:这个过程涉及更改数据以使其更有条理、更易于阅读。数据操作旨在提高数据分析过程的效率,但过程中的错误可能会损害这种效率。
- 其他风险:数据也可能因人为错误、病毒、恶意软件、黑客攻击和系统故障而受损,这些都可能导致更多麻烦。
我就说到这里,这些潜在的坏消息已经够消化了。让我们继续看一些潜在的好消息。
在许多公司中,数据仓库或数据工程团队负责确保数据完整性。接下来,我们将学习作为数据分析师如何检查数据完整性。


但请放心,通常也会有其他人支持你。在你弄清楚正在处理的数据类型之后,在分析之前仔细检查你的数据是否完整和有效非常重要。这将有助于确保你的分析和最终结论是准确的。
检查数据完整性是处理数据、为其分析做好准备的关键步骤,无论是由你还是你公司的其他人来完成。接下来,你将学到更多关于数据完整性的知识。再见。
本节课总结:在本节课中,我们一起学习了数据完整性的定义及其重要性。我们了解到,不完整或受损的数据会导致分析结果不准确。我们还探讨了数据在复制、传输、操作过程中可能面临的风险,以及其他如人为错误、系统故障等威胁。最后,我们认识到检查数据完整性是数据分析前必不可少的一步,并且这项工作在公司中通常有专门的团队支持。
003:从脏数据到干净数据的处理 - 03_01_03 平衡目标与数据完整性 📊

在本节课中,我们将学习如何在数据分析过程中平衡业务目标与数据完整性。我们将探讨如何识别数据局限性,并学习在数据不完整或不准确时,如何调整分析方法以达成业务目标。

上一节我们介绍了数据完整性的基本概念,本节中我们来看看如何在实际分析中平衡业务目标与数据完整性。
记住检查数据完整性很重要。同样重要的是,确保你使用的数据与业务目标保持一致。这为数据完整性的维护增加了另一层考量,因为你使用的数据可能存在需要处理的局限性。将数据与业务目标匹配的过程实际上可以相当直接。
以下是一个快速示例。假设你是一家生产和销售汽车零部件企业的分析师。如果你需要回答关于某个零件销售产生的收入问题,那么你会从数据中提取收入表。如果问题是关于客户评价,那么你会提取评价表来分析平均评分。但在深入任何分析之前,你需要考虑一些可能影响分析的局限性。

如果数据没有被妥善清理,那么你还无法使用它。你需要等待彻底的数据清理完成。
现在,假设你试图找出平均客户的消费金额,并且你注意到同一客户的数据出现在多行中。这被称为重复数据。为了解决这个问题,你可能需要更改数据的格式,或者可能需要改变计算平均值的方式。否则,数据看起来就像是属于两个不同的人,你将得到误导性的计算结果。
你可能还会意识到没有足够的数据来完成准确的分析。也许你只有几个月的销售数据。你有可能等待更多数据,但更可能的情况是,你必须在仍能满足目标的同时,改变你的流程或寻找替代数据源。
我喜欢把数据集想象成一幅画。看看这张图。我们看到的是什么?除非你是旅行专家或了解该地区,否则仅凭这两张图像可能很难辨认。从视觉上看,当我们看不到全貌时,情况非常明显。当你看到完整的画面时,你会意识到你在伦敦。数据不完整时,很难看清全貌,无法真正了解正在发生的事情。
我们有时会信任数据,因为如果它以行和列的形式呈现给我们,似乎我们只需要查询就能得到所需的一切。但这并不正确。我记得有一次,我发现数据不足,不得不寻找解决方案。我曾为一家在线零售公司工作,被要求找出缩短客户从购买到收货时间的方法。更快的交货时间通常会带来更满意的客户。当我检查数据集时,我发现跟踪信息非常有限。我们缺少一些关键细节,因此数据工程师和我创建了新的流程来跟踪额外信息,例如旅程中的停靠点数量。利用这些数据,我们缩短了从购买到交付的时间,并看到了客户满意度的提升。这感觉非常棒。
学会在处理数据问题的同时保持对目标的专注,将帮助你在数据分析师的职业生涯中取得成功。你的成功之路仍在继续。接下来,你将学习更多关于使数据与目标保持一致的知识。继续努力。
004:处理数据不足 📊

在本节课中,我们将要学习当数据不足以支持业务目标时,数据分析师可以采取的策略。我们将探讨如何设定分析范围、确定应包含的数据,并学习应对不同类型数据不足情况的方法。
每位分析师都曾遇到过数据不足以帮助实现业务目标的情况。尽管每天都会产生大量数据,但数据不足的情况确实存在。因此,我们需要讨论当数据不足时可以采取的措施。
上一节我们介绍了数据不足的普遍性,本节中我们来看看如何为分析设定界限以及应包含哪些数据。
我曾在一家支持中心担任数据分析师。我们每天都会收到客户问题,这些问题被记录为支持工单。我的任务是预测每月收到的支持工单数量,以确定需要额外招聘多少员工。拥有至少跨越数年的充足数据至关重要,因为我必须考虑年度变化和季节性变化。如果只有当年的数据可用,我就不会知道一月份的激增是常见现象,并且与人们在假期后要求退款有关。由于数据充足,我能够建议在一月份招聘更多员工以作准备。
挑战总会出现。但好消息是,一旦明确了业务目标,你就能判断数据是否充足。如果数据不足,你可以在开始分析之前处理这个问题。
现在,让我们来看看你可能会遇到的一些限制,以及如何处理不同类型的数据不足情况。
以下是几种常见的数据不足情况及应对方法:
- 数据来源单一:假设你在旅游业工作,需要找出最常被搜索的旅行计划。如果只使用一个预订网站的数据,你就将自己限制在单一来源的数据中。其他预订网站可能显示出不同的趋势,这些趋势在你的分析中可能需要考虑。如果此类限制影响了你的分析,你可以暂停并返回与利益相关者商讨计划。
- 数据持续更新:如果你的数据集不断更新,意味着数据仍在流入,可能不完整。例如,如果你正在分析一个全新旅游景点的兴趣度和客流量,可能没有足够的数据来确定趋势。你可以等待一个月来收集数据,或者与利益相关者沟通,询问是否可以调整目标。例如,你可以分析周与周之间的趋势,而不是月与月之间的趋势。你也可以基于过去三个月的趋势进行分析,并预测第四个月的客流量可能如何。你可能没有足够的数据来判断这个数字是过高还是过低,但你可以告诉利益相关者,这是基于当前数据的最佳估计。
- 数据过时:另一方面,你的数据可能过于陈旧,不再具有相关性。关于客户满意度的过时数据不会包含最新的反馈,因此你依赖的酒店或度假租赁评分可能不再准确。在这种情况下,最好的办法可能是寻找一个新的数据集来处理。
- 地理范围有限:地理范围有限的数据也可能不可靠。如果你的公司是全球性的,你不会希望使用仅限于一个国家旅行数据的数据集,你会需要一个包含所有国家的数据集。
以上只是你将遇到的一些最常见限制,以及一些应对方法。你可以利用现有数据识别趋势,如果时间允许,可以等待更多数据。你可以与利益相关者沟通并调整目标,或者寻找新的数据集。
采取这些步骤的必要性取决于你在公司中的角色,也可能取决于更广泛行业的需求。但学会如何处理数据不足,始终是为成功做好准备的好方法。

你的数据分析能力正在不断增强,而且时机正好。在学习了更多关于限制和解决方案的知识后,你将学习到统计功效——另一个可供你使用的强大工具。
本节课中我们一起学习了当面临数据不足时,如何通过设定分析范围、与利益相关者沟通、调整目标或寻找新数据源等策略来应对挑战,为后续的分析工作奠定坚实基础。
005:谷歌数据分析师第四课《从脏数据到干净数据的处理》- 05_01_03 样本量的重要性 📊

在本节课中,我们将要学习样本量在数据分析中的重要性。我们将探讨什么是总体和样本,为什么有时需要使用样本而非总体,以及如何通过随机抽样来确保样本的代表性。
上一节我们讨论了为满足业务目标需要获取正确类型的数据。本节中,我们来看看确保分析尽可能准确所需的数据量的重要性。
数据分析师所说的总体,指的是某个特定数据集中所有可能的数据值。如果你能在分析中使用总体的100%,那当然很好。
但有时,收集整个总体的信息并不可行。这可能因为过程太耗时或成本太高。
例如,假设一家全球组织想更多地了解养猫的宠物主人。你的任务是找出加拿大的猫主人更喜欢哪种玩具。但加拿大有数百万猫主人,从所有人那里获取数据将是一个巨大的挑战。
别担心,让我为你介绍样本量。
当你使用样本量或样本时,你使用的是总体中具有代表性的一部分。其目标是从总体中的一个小群体获取足够的信息,以便对整个总体进行预测或得出结论。
样本量有助于确保你对“结论能准确代表总体”这一点的置信程度。
因此,对于猫主人的数据,一个样本量可能包含数百或数千人的数据,而不是数百万。使用样本进行分析更具成本效益,也更省时。
如果操作仔细且考虑周全,使用样本量可以得到与追踪每一位猫主人来找出他们最喜欢的猫玩具相同的结果。
然而,这也有一个潜在的缺点:当你只使用总体的一小部分样本时,可能会导致不确定性。你无法100%确定你的统计数据是完整且准确地代表了总体。
这导致了抽样偏差,我们在课程前面已经介绍过。抽样偏差是指样本不能代表整个总体的情况。这意味着总体中的某些成员被过度代表或代表不足。
例如,如果用于从猫主人那里收集数据的调查只包括拥有智能手机的人,那么没有智能手机的猫主人就不会在数据中得到体现。
使用随机抽样可以帮助解决一些抽样偏差问题。
随机抽样是从总体中选择样本的一种方式,它确保样本的每一种可能类型都有被选中的平等机会。

再次回到我们的猫主人例子。使用猫主人的随机样本意味着,每种类型的猫主人都有平等的机会被选中。因此,住在安大略省公寓的猫主人与住在阿尔伯塔省房屋的猫主人有相同的被代表机会。
作为数据分析师,你会发现创建样本量通常在你接触数据之前就已经发生了。但了解你将要分析的数据能代表总体并符合你的目标,对你来说仍然很重要。
了解你在数据旅程中即将面对什么也是有益的。
在下一个视频中,你将有机会更深入地熟悉样本量。我们那里见。😊
本节课总结:
本节课我们一起学习了总体与样本的概念。我们了解到,由于成本或时间的限制,分析整个总体通常不现实,因此需要使用具有代表性的样本。样本量的大小影响分析的准确性,而随机抽样是确保样本代表性、减少抽样偏差的关键方法。记住,一个精心挑选的样本可以高效地帮助我们得出关于总体的可靠结论。
006:理解统计功效 📊

在本节课中,我们将要学习一个数据分析中的重要概念:统计功效。我们将探讨它是什么,为什么它对数据分析师至关重要,以及如何在实际项目中应用它来确保测试结果的可靠性。
我们可能都曾梦想过拥有某种超能力。对于数据分析师而言,统计功效就是这样一种强大的“数据超能力”。它并非关于飞行或隐形,而是关于从测试中获得有意义结果的概率。
上一节我们介绍了假设检验的基本概念,本节中我们来看看如何确保我们的检验是有效的。
什么是统计功效?🔍
统计功效是指一项测试能够检测出真实效应(如果该效应存在)的概率。简单来说,它衡量的是你的测试“发现真相”的能力。
在数据分析项目中,工作通常始于一项测试或研究。假设检验是一种用于判断调查或实验结果是否具有意义的方法。
让我们通过一个例子来理解。假设你在一家连锁餐厅工作,该餐厅正计划为新推出的奶昔开展一场营销活动。在将广告推向全国之前,你需要在一组顾客中测试广告效果。
在测试中,你需要检查顾客是喜欢还是不喜欢这个广告。同时,你还需要排除广告之外任何可能导致他们说不喜欢的因素。
由于向所有顾客进行测试既耗时又昂贵,你需要计算出需要多少顾客才能证明广告是有效的。
为什么样本量很重要?📈
50名顾客可能远远不够。即使你随机选择了50名顾客,也可能恰好选到根本不喜欢奶昔的人。如果发生这种情况,你将无法衡量广告在促进奶昔订单方面的效果,因为样本中根本没人会点奶昔。
这就是为什么你需要一个更大的样本量。通常,样本量越大,你的测试获得统计显著性结果的机会就越大。而这,正是统计功效的核心。
在这种情况下,使用尽可能多的顾客可以更真实地展示出“喜欢/不喜欢广告的人群”与“其决定完全不受广告影响的人群”之间的实际差异。
以下是关于样本量与统计功效关系的要点:
- 样本量越大,统计功效通常越高。
- 更高的统计功效意味着你更有可能检测到真实存在的效应。
- 样本需要具有代表性,以涵盖所有类型的顾客。
如何量化统计功效?📐
有方法可以精确计算统计功效,虽然我们在此不深入计算细节(作为数据分析师,未来你可能需要自行计算),但你需要知道:统计功效通常表示为一个0到1之间的值。
公式: 统计功效 = 1 - β (其中β是犯第二类错误,即“漏报”的概率)
因此,如果你的统计功效是 0.6,也就等同于 60%。
在奶昔广告测试中,如果你计算出统计功效为60%,那就意味着你有60%的几率获得关于广告有效性的统计显著性结果。
理解统计显著性 🎯
统计显著性是统计学中常用的一个术语。简单来说,如果一项测试具有统计显著性,就意味着测试结果是真实的,并非由随机误差导致。
所以,60%的统计功效意味着:奶昔广告测试的结果有60%的几率是可靠且真实的,同时有40%的几率测试结果是错误的(即未能检测到实际存在的广告效果)。
通常,你需要至少 0.8(或80%) 的统计功效,才能认为你的结果具有统计显著性。
实际应用场景:新口味奶昔测试 🧁
让我们再看一个场景。假设你所在的连锁餐厅想推出一款全新的生日蛋糕口味奶昔。这款奶昔的生产成本更高,公司希望新口味带来的轰动效应能吸引更多顾客和收入来抵消成本。他们打算先在几家餐厅进行测试。
那么,你需要使用多少家餐厅才能对结果有信心呢?
首先,你必须考虑哪些因素可能阻碍你获得统计显著的结果:
- 是否有餐厅正在运行其他可能带来新顾客的促销活动?
- 是否有些餐厅的顾客无论推出什么新品都会购买?
- 是否有门店附近最近开始施工,导致顾客根本无法前往?

为了获得更高的统计功效,在决定研究样本中应包含多少家门店之前,你必须综合考虑所有这些因素。你需要确保观察到的任何效果最有可能源于新奶昔口味,而非其他因素。
可衡量的效果将是样本门店销售额或顾客数量的增加。
本节课中我们一起学习了统计功效这一核心概念。我们了解到,它是衡量测试发现真实效应能力的重要指标,受样本量大小和外部因素控制的影响。高统计功效(通常≥80%)是获得可靠、显著结果的关键。虽然我们可能无法拥有飞行的超能力,但掌握统计功效无疑是每位数据分析师都应具备的强大技能。
接下来,我们将更详细地探讨样本量,以便你更好地理解它如何影响你的测试和研究。
007:确定最佳样本量 📊

在本节课中,我们将深入探讨样本量及其与数据完整性的关系。我们将学习如何确定一个合适的样本量,以确保从样本中得出的结论能够有效代表整个总体。
上一节我们介绍了样本的基本概念,本节中我们来看看如何科学地确定样本量。
许多组织会采用类似商店发放试用品的方式来了解其产品或服务。他们从更大的总体中抽取一部分作为样本,并对其进行测试,以推断总体的特征。虽然其中涉及复杂的统计计算,但我们将重点关注这个过程的核心概念和步骤。
样本量是指从总体中抽取的、能够代表总体的那部分数据量。对于企业而言,这是一个非常重要的工具。分析整个总体的数据可能既昂贵又耗时,因此使用合适的样本量通常是最合理的选择,并且仍能得出有效且有用的结论。
网上有许多便捷的计算器可以帮助你确定样本量。使用这些计算器时,你需要输入三个关键参数:置信水平、总体大小和边际误差。我们已经讨论过总体大小,接下来我们将学习另外两个概念。
了解这些概念将帮助你理解为什么计算样本量需要它们。
置信水平是指你的样本准确反映更大总体的概率。你可以将其理解为对某件事或某个人的信心程度。99%的置信水平是理想的,但大多数行业希望至少达到90%或95%的置信水平。例如,制药行业在使用样本进行测试时,通常希望置信水平尽可能高,因为他们测试的是药品,需要确保其对所有人都有效且安全。而对于其他研究,组织可能只需要知道测试或调查结果指引的方向是正确的即可,例如油漆公司测试新颜色时,较低的置信水平也是可以接受的。
边际误差则告诉你,样本量结果与你使用样本所代表的整个总体所得结果之间的接近程度。简单来说,它衡量了样本估计值与真实总体值之间可能存在的最大差异。
让我们通过一个例子来理解如何应用这些概念。假设一所中学的校长请你进行一项关于学生糖果偏好的研究。学校有500名学生,他们要求置信水平为95%,边际误差为5%。
以下是确定样本量的步骤:
- 打开一个在线样本量计算器或使用电子表格中的公式。
- 在相应字段中输入总体大小(500)、置信水平(95%)和边际误差(5%)。
- 计算器会给出结果,在本例中约为218。
这意味着,对于这项研究,合适的样本量是218名学生。如果我们调查了218名学生,发现其中55%的人更喜欢巧克力,那么我们就有相当高的信心认为,这一比例也适用于全部500名学生。218这个数字是基于我们95%的置信水平和5%的边际误差标准所需调查的最低人数。
需要注意的是,置信水平和边际误差并不需要相加等于100%,它们是相互独立的两个指标。如果我们改变边际误差,例如从5%降低到更严格的3%,那么所需的样本量就会变大,从大约218增加到341,以使研究结果更能代表总体。

本节课中我们一起学习了确定最佳样本量的核心概念。我们了解到,通过设定置信水平和边际误差,并利用在线计算工具,可以科学地计算出能够代表总体的最小样本量。掌握这一技能将帮助你在处理数据时,更高效、更可靠地通过样本洞察总体特征。
在接下来的课程中,我们将更详细地探讨边际误差等概念。下次见。
008:从脏数据到干净数据的处理 🧹

第八课:评估数据可靠性 📊
在本节课中,我们将学习误差范围的概念及其计算方法。理解误差范围对于评估数据可靠性至关重要,它能帮助我们判断样本结果与总体结果之间的差异程度。
误差范围的定义
上一节我们简要提到了误差范围,但未完全解释。本节中,我们将详细说明误差范围及其计算方法。
误差范围是指样本结果与总体实际结果之间可能存在的最大差异。在实际数据分析中,我们通常无法调查整个总体,因此需要从总体中抽取样本。基于样本大小,误差范围能告诉我们样本结果与总体结果之间可能存在的差异程度。
误差范围有助于评估假设检验数据的可靠性。误差范围越接近零,样本结果与总体结果的一致性越高。
误差范围的示例
以下是误差范围的一个具体示例:
假设你完成了一项全国性调查,样本为总体的一部分。你询问每周工作五天的人是否喜欢四天工作周的想法。调查结果显示,60%的人偏好四天工作周,误差范围为10%。
这意味着,如果我们调查全国所有每周工作五天的人,同意该想法的人数比例将在50%到70%之间。这是因为误差范围从调查结果的60%向两个方向计算。
如果你为调查设定了95%的置信水平,那么总体回答“是,他们想要四天工作周”的比例有95%的可能性落在50%到70%之间。由于误差范围与50%标记重叠,你不能确定公众喜欢四天工作周的想法。在这种情况下,你必须说调查结果不确定。
如何降低误差范围
如果你想降低误差范围,例如降至5%,使范围在55%到65%之间,可以增加样本大小。但如果你已经知道样本大小,可以自行计算误差范围,从而基于误差范围判断结果具有统计显著性的可能性。
一般来说,调查中包含的人越多,样本越能代表总体。降低置信水平也会产生相同效果,但这也会降低调查的准确性。
计算误差范围的要素
要计算误差范围,你需要以下三个要素:
- 总体大小
- 样本大小
- 置信水平
与样本大小计算类似,你可以在网上搜索“误差范围计算器”找到许多工具。但我们将在电子表格中演示计算方法,就像我们计算样本大小时所做的那样。
误差范围计算示例
假设你正在进行一项关于新药有效性的研究。样本大小为500名参与者,该疾病影响全球1%的人口,即约8000万人,这是你研究的总体。由于是药物研究,你需要99%的置信水平,并且需要较低的误差范围。我们来计算一下。
我们将总体大小、置信水平和样本大小的数字放入电子表格的相应单元格中。结果显示,误差范围约为±6%。
误差范围 = ±6%
当药物研究完成时,你将误差范围应用于结果,以确定结果的可靠性。

工具与总结
电子表格中的此类计算器只是确保数据完整性的众多工具之一。记住,检查数据完整性并使数据与目标保持一致,将有助于你顺利完成分析。
了解样本大小、统计功效、误差范围以及我们涵盖的其他主题,将使你的分析更加顺利。
本节课中,我们一起学习了误差范围的定义、示例、计算方法及其在评估数据可靠性中的重要性。这些概念是数据分析的基础,掌握它们将帮助你在实际工作中做出更准确的判断。
接下来,我们将深入探讨干净数据的方方面面。数据冒险仍在继续,很高兴你能一路同行。加油!😊
009:谷歌数据分析师第四课《从脏数据到干净数据的处理》 🧹

在本节课中,我们将学习如何识别和处理脏数据,理解数据清理的重要性,并掌握确保数据完整性的基本方法。
概述:脏数据的代价与成因
你能猜到不准确或糟糕的数据每年给企业造成多少损失吗?损失可能是数千美元、数百万美元,甚至数十亿美元。根据IBM的数据,仅在美国,低质量数据造成的年成本就高达3.1万亿美元。这是一个巨大的数字。
现在,你能猜到导致数据质量低下的首要原因是什么吗?它不是新系统的实施,也不是计算机技术故障。最常见的因素实际上是人为错误。
这里有一张来自律师事务所的电子表格,它向客户展示了他们购买的法律服务、服务订单号、支付金额以及支付方式。
脏数据可能源于多种情况:某人错误地输入了数据、格式不一致、字段留空,或者同一数据被重复输入导致重复记录。
脏数据是指不完整、不正确或与你试图解决的问题无关的数据。当你使用脏数据时,你无法确保结果的正确性。事实上,你几乎可以断定结果不会正确。
清洁数据与数据完整性
之前我们了解到,数据完整性对于可靠的数据分析结果至关重要。而清洁数据有助于实现数据完整性。
清洁数据是指完整、正确且与你试图解决的问题相关的数据。
当你使用清洁数据时,你会发现项目进展会更加顺利。
我记得第一次亲眼目睹清洁数据有多么重要。那时我刚接触SQL,觉得它像魔法一样神奇。我可以让计算机汇总数百万个数字,节省大量的时间和精力。但我很快发现,这只有在数据清洁时才有效。
如果在一个本应只有数字的列中,哪怕出现一个意外的字母,计算机就不知道该如何处理,会抛出一个错误。突然间我就卡住了,而我绝不可能靠自己手动去加总那数百万个数字。因此,我必须清理那些数据才能使其正常工作。
好消息是,有许多有效的流程和工具可以帮助你完成这项工作。
接下来,你将获得必要的技能和知识,以确保你处理的数据始终是清洁的。在此过程中,我们将更深入地探讨清洁数据与脏数据的区别,以及为什么清洁数据如此重要。我们还将讨论清理数据的不同方法,以及在此过程中需要留意的常见问题。
准备好开始了吗?我们开始吧。

清洁数据的重要性
上一节我们介绍了脏数据的巨大成本和人为错误的主要成因。本节中,我们来看看清洁数据为何是成功分析的基础。
使用清洁数据,你的分析项目将运行得更顺畅,结果也更可靠。反之,脏数据会导致错误、延误,并最终影响决策质量。
数据清理的方法与常见问题
理解了清洁数据的重要性后,我们来看看如何进行数据清理。数据清理是一个系统化的过程,旨在识别并纠正数据集中的错误、不一致和不相关之处。
以下是数据清理过程中常见的几种问题及其处理方法:
-
处理不完整数据:例如字段留空。解决方法可能包括删除空行、使用统计方法(如均值、中位数)填充,或根据业务逻辑进行推断填充。
- 代码示例(Python Pandas):
df.fillna(df[‘column_name’].mean(), inplace=True)
- 代码示例(Python Pandas):
-
纠正不正确数据:例如拼写错误、格式错误或超出合理范围的值(如年龄为200岁)。这通常需要结合验证规则和业务知识进行修正。
- 公式示例(数据验证):在电子表格中设置数据验证规则,确保输入值在特定范围内。
-
删除重复数据:同一记录被多次输入。需要识别并移除这些重复项,保留唯一记录。
- 代码示例(SQL):
DELETE FROM table_name WHERE row_id NOT IN (SELECT MIN(row_id) FROM table_name GROUP BY duplicate_column);
- 代码示例(SQL):
-
统一不一致的格式:确保同一类数据(如日期、电话号码)在整个数据集中格式一致。例如,将“2023-01-01”、“01/01/2023”统一为一种格式。
在清理过程中,保持对原始数据的备份至关重要,并且所有清理步骤都应被记录,以确保过程的可追溯性和可重复性。
总结
本节课中,我们一起学习了数据清理的核心概念。我们了解到脏数据每年给企业造成巨大损失,而其首要成因是人为错误。我们明确了脏数据(不完整、不正确、不相关)和清洁数据(完整、正确、相关)的定义,并认识到清洁数据对于保障数据完整性和获得可靠分析结果至关重要。
最后,我们探讨了数据清理的常见方法,包括处理不完整数据、纠正错误值、删除重复项以及统一数据格式。掌握这些技能,是成为一名合格数据分析师的关键一步。
010:从脏数据到干净数据的处理 🧹

在本节课中,我们将要学习数据清洗的关键性。干净的数据对于有效的分析至关重要。我们将探讨什么是脏数据、什么是干净数据,以及如何通过清洗数据来确保分析的准确性和可靠性。
什么是脏数据与干净数据? 🔍
上一节我们介绍了课程概述,本节中我们来看看脏数据与干净数据的具体定义。
干净的数据对于有效分析极其重要。如果一条数据被错误地输入到电子表格或数据库中,或者数据被重复录入,或者字段留空,或者数据格式不一致,其结果就是脏数据。从长远来看,小的错误可能导致严重的后果。
现在,我将完全坦诚地告诉你。数据清洗就像刷牙。这是你应该做并且应该做好的事情,否则,它可能会给牙齿带来严重问题,比如蛀牙或牙龈疾病。对于数据而言,问题可能是让你的公司损失金钱或惹怒老板。
但这里有个好消息。如果你坚持每天刷两次牙,它就会成为一种习惯。很快,你甚至不需要去思考它。数据清洗也是如此。相信我,当你花时间清理那些脏数据时,它会让你看起来很棒。
作为快速回顾,脏数据是不完整、不正确或与你试图解决的问题不相关的数据。它无法以有意义的方式使用,这使得分析变得非常困难,甚至不可能。
另一方面,干净的数据是完整的、正确的,并且与你试图解决的问题相关。这使你能够理解和分析信息,识别重要模式,连接相关信息,并得出有用的结论。然后,你可以应用所学知识来做出有效决策。
数据清洗的协作与场景 🤝
上一节我们定义了脏数据与干净数据,本节中我们来看看数据清洗工作中的协作以及不同数据源的清洗场景。
在某些情况下,你不需要做很多工作来清洗数据。例如,当你使用经过公司数据工程师和数据仓库团队验证和维护的内部数据时,数据更可能是干净的。
我们来谈谈作为数据分析师你将与之合作的一些人。数据工程师将数据转换为适合分析的格式,并提供可靠的基础设施。这意味着他们开发、维护和测试数据库、数据处理器及相关系统。数据仓库专家制定有效存储和组织数据的流程和程序。他们确保数据可用、安全并得到备份以防止丢失。
当你成为一名数据分析师时,你可以通过与维护数据库的人员合作来了解他们的系统,从而学到很多东西。如果数据首先经过数据工程师或数据仓库专家的处理,你就知道你的项目有了一个良好的开端。
作为数据工程师或数据仓库专家,有很多很好的职业机会。如果这类工作听起来很有趣,也许你的职业道路将涉及通过确保组织的数据干净整洁,来帮助组织节省大量时间、精力和金钱。
但是,即使你的数据分析职业生涯走向不同的方向,并且有幸与数据工程师和仓库专家合作,你仍然可能需要清洗自己的数据。重要的是要记住,没有数据集是完美的。在开始分析之前检查并清洗数据总是一个好主意。
以下是一个例子:
假设你正在做一个项目,需要弄清楚有多少人使用你公司的软件程序。你有一个由内部创建并经过数据工程师和数据仓库专家验证的电子表格。查看标记为“用户名”的列。现在,似乎逻辑上你可以直接向下滚动并计算行数来弄清楚有多少用户。但这行不通,因为一个人有时可能有多个用户名。也许他们用不同的电子邮件地址注册,或者他们有一个工作账户和一个个人账户。
在这种情况下,你需要通过删除任何重复的行来清洗数据。一旦你完成了这一步,就不会再有重复的条目,那么你的电子表格就可以投入使用了。
处理外部数据与空值 🧩

到目前为止,我们讨论了处理内部数据,但当处理外部数据时,数据清洗变得更加重要,尤其是当数据来自多个来源时。
假设我们例子中的软件公司对其客户进行了调查,以了解他们对软件产品的满意度。但当你审查调查数据时,你发现有几个空值。空值表示数据集中不存在某个值。请注意,它与零不同。在我们的调查案例中,空值意味着客户跳过了那个问题。而零意味着他们提供了零作为他们的回答。
为了进行分析,你首先需要清洗这些数据。第一步是决定如何处理这些空值。你可以选择过滤掉它们,并说明你现在有一个更小的样本量。或者你可以保留它们,并从客户没有提供回答这一事实中学习。发生这种情况的原因有很多。也许你的调查问题写得不够好。也许它们令人困惑或有偏见,这是我们之前学到的。
总结 📝
本节课中我们一起学习了数据清洗的关键性。我们探讨了脏数据与干净数据的区别,了解了数据清洗就像日常习惯一样重要。我们认识了数据工程师和数据仓库专家在确保数据质量中的角色,并讨论了处理内部和外部数据(包括空值)时的不同清洗场景。记住,没有完美的数据集,在分析前进行检查和清洗是确保得出准确、可靠结论的必要步骤。在接下来的课程中,我们将学习更多关于确保数据完整、正确和相关的常见错误。
011:谷歌数据分析师课程第四课《从脏数据到干净数据的处理》process-data 🧹

在本节课中,我们将跟随谷歌工程项目经理安吉的分享,了解数据清洗的核心价值与魅力。我们将认识到,数据清洗不仅是技术步骤,更是深入理解数据、发现并解决问题的侦探过程。
我是安吉,在谷歌担任工程项目经理。我坚信,数据清洗是数据的核心与灵魂。这是你了解数据特性、缺陷和奥秘的方式。
我热爱解开谜团。我记得有一次,我发现有人在一次交易中购买了价值100万美元的鸡肉三明治。这个谜团让我非常困扰。我产生了许多疑问:这真的可能发生吗?也许那是一个超大型生日派对?他们是如何制作出价值百万美元的鸡肉三明治的?
在清洗数据并试图找出问题根源的过程中,我们最终发现,在一个非常特殊的情况下,我们所有的交易数据都被进行了平方和乘法处理。我们花了大约三天时间才弄清楚这一点。我永远不会忘记那个“啊哈!我们找到根源了!”的时刻。结果是,我们的数据被清洗干净了,我们获得了一个可以用于分析的优质数据集。
但我真正热爱的,正是这个解谜的过程。了解数据集中所有这些奇怪的复杂细节,这种感觉几乎像是一种超能力。我仿佛是一名侦探,深入其中,真正解决了某个问题。
所以我热爱清洗数据。😊
上一节我们分享了安吉对数据清洗充满热情的个人经历,本节中我们来总结其中的核心要点。
以下是安吉分享中揭示的数据清洗关键理念:
- 数据清洗是核心:它是理解数据本质、发现其独特性和问题的必经之路。
- 过程即探索:清洗数据常伴随发现异常(如公式
异常值 = 100万美元交易),这驱动着深入调查。 - 价值在于解决:通过系统性的清洗和排查(例如,检查
数据转换逻辑中的错误),能将“脏数据”转化为可靠的分析基础。 - 心态很重要:以侦探般的好奇心和执着去对待数据谜团,能带来巨大的成就感。

本节课中我们一起学习了安吉对于数据清洗的深刻见解。我们明白了,数据清洗远不止是技术性清理,它更是一个与数据对话、解开谜题并最终获得可靠洞察的探索过程。这种将混乱转化为清晰的能力,正是数据分析工作的魅力与力量所在。
012:识别并修复脏数据 🧹

在本节课中,我们将学习数据分析中一个至关重要的环节:识别并修复脏数据。脏数据会严重影响分析的准确性和可靠性,因此掌握其常见类型和处理方法是数据分析师的核心技能。
我们将通过一个律师事务所的电子表格案例,逐一探讨脏数据的各种表现形式,并了解相应的清理策略。
脏数据的常见类型
上一节我们概述了脏数据的概念,本节中我们来看看几种具体的脏数据问题。以下是数据分析中常见的脏数据问题:
- 拼写与文本错误:包括拼写错误、字母顺序混乱、标点符号不一致以及一般的打字错误。
- 不一致的标签:数据标签不准确或不统一。
- 格式与字段长度不一致:例如,货币数据被错误地显示为百分比。
- 缺失数据:字段为空,也称为空值(null)。
- 重复数据:相同的数据被多次录入。
深入解析各类脏数据
拼写与文本错误
这类错误通常由人工录入数据时产生。例如,在输入客户姓名或产品名称时可能出现拼写错误。此外,数据集中还可能混用不同的货币单位(如美元和欧元),这同样需要被识别和统一。
清理这类错误通常依赖于组织制定的数据完整性规则,例如统一的拼写和标点规范。一个饮料公司可能规定所有员工在数据库中录入体积时使用“液量盎司”而非“杯”。虽然规则能极大减少数据清理的工作量,但无法完全杜绝人为错误。
不一致的格式
格式不一致是另一种常见问题。在我们的案例中,本应格式化为货币的数据被错误地显示为百分比。在修复此错误之前,律师事务所无法准确知道客户支付的服务费用金额。
缺失数据(空值)
空值(null)指的是空字段。处理这类脏数据比修正拼写或格式需要更多步骤。例如,数据分析师可能需要去查找“2020年7月4日”究竟是哪位客户进行了咨询,在找到正确信息后,再将其补充到电子表格中。
重复数据
重复数据可能由多人重复录入同一条记录,或操作者无意中复制粘贴导致。数据分析师的任务就是识别此类错误,并通过删除多余的副本来进行修正。
其他类型的脏数据问题
除了上述常见类型,我们还需要关注以下两类问题。
不一致的标签
为了理解标签问题,可以想象训练计算机从各种动物图片中识别熊猫。你需要给计算机展示成千上万张标有“熊猫”标签的图片。任何一张标签错误的图片(例如,一张熊的图片被误标为“熊猫”)都会导致模型学习出错。
不一致的字段长度
字段是电子表格中一行或一列中的单个信息单元。字段长度决定了该字段可以输入多少个字符。为电子表格中的字段指定长度是避免错误的有效方法。例如,“出生年份”列的字段长度应设为4,因为所有年份都是4位数。
一些电子表格应用程序提供了简单的方法来指定字段长度,确保用户只能在字段中输入特定数量的字符。这属于数据验证的范畴。
数据验证是在添加或导入数据之前,检查其准确性和质量的一种工具。它是数据清洗的一种形式。

总结
本节课中,我们一起学习了脏数据的多种类型,包括拼写错误、格式不一致、缺失值、重复数据、标签错误以及字段长度问题。理解这些问题是进行有效数据清洗的第一步。数据验证作为数据清洗的重要工具,能帮助我们在数据进入分析流程前就确保其质量。在接下来的课程中,我们将深入探讨更多具体的数据清洗技术和策略。掌握这些技能,对于成为一名优秀的数据分析师至关重要。
013:13_02_01_数据清洗工具与技术.zh_en - GPT中英字幕课程资源 - BV19m4y1J7dG


课程概述 📋
在本节课中,我们将要学习数据清洗的核心工具与技术。你已经了解了常见的脏数据类型,现在我们将探讨如何利用电子表格中的各种工具来清理数据,以确保数据的完整性,从而支持可靠的解决方案和决策。
数据清洗的具体技术会因数据集而异,因此我们无法涵盖所有可能遇到的情况。但本节内容将为你提供一个坚实的起点,帮助你处理数据分析师最常遇到的脏数据问题。你可以将接下来的内容视为数据清洗工具的“预告片”。
数据清洗的初步准备 🔧
在开始移除不需要的数据之前,一个好的做法是先复制一份原始数据集。这样,如果你不小心移除了未来可能需要的数据,可以轻松地找回并恢复。
完成备份后,你就可以着手处理重复数据或与当前问题无关的数据了。
处理重复数据 🔄
重复数据通常出现在合并多个来源的数据集,或使用同一公司内不同部门的数据时。对于数据分析师来说,重复数据可能带来大问题,因此在开始任何分析之前,找到并移除它们至关重要。
以下是一个例子:假设一个专业物流协会的会员数据库中,某位会员的500美元会费被重复记录。当汇总数据时,分析师会误认为该会员支付了1000美元,并基于这个错误数据做出决策,而实际上该会员只支付了500美元。
虽然可以手动修复这些问题,但大多数电子表格应用都提供了丰富的工具来帮助你查找和移除重复项。
移除无关数据 🗑️
无关数据是指不符合你试图解决的具体问题的数据,同样需要被移除。
回到协会会员列表的例子,如果数据分析师正在进行的项目只关注当前会员,那么他们就不应包含已退会或从未加入的人员信息。
移除无关数据需要更多时间和精力,因为你必须区分所需数据和不需要的数据。但请相信,做出这些决定将为后续工作节省大量精力。
清理多余空格与空白单元格 ⬜
多余的空格在你对数据进行排序、筛选或搜索时,可能导致意想不到的结果。由于这些字符很容易被忽略,它们会带来令人困惑的意外情况。
例如,如果一个会员ID号中包含多余空格,当你将该列从低到高排序时,这一行数据就会出现在错误的位置。
要移除这些不需要的空格或空白单元格,你可以手动删除,或者再次依赖电子表格提供的众多优秀函数来自动完成。
修正拼写与格式错误 ✏️

下一步数据清洗涉及修正拼写错误、不一致的大小写、错误的标点符号以及其他打字错误。

这类错误可能导致严重问题。假设你有一个用于联系客户的电子邮件数据库。如果某些邮件地址存在拼写错误、句点位置错误或其他任何打字错误,你不仅可能将邮件发送给错误的人,还有可能向无关人员发送垃圾邮件。
再以协会会员为例,拼写错误可能导致数据分析师在按会员类型排序并统计行数时,错误地计算专业会员的数量。
与之前遇到的问题一样,你可以手动修正这些问题,也可以利用电子表格工具,如拼写检查、自动更正和条件格式来简化工作。
此外,还有简单的方法可以将文本转换为小写、大写或首字母大写,我们稍后会再次查看这些功能。
统一数据格式 🎨
下一步是移除不一致的格式。当你从多个不同来源获取数据时,这一点尤其重要。每个数据库都有自己的格式,这可能导致数据看起来不一致。
为你的电子表格创建干净、一致的视觉外观,将有助于使其成为你和团队做出关键决策时的宝贵工具。
大多数电子表格应用也提供“清除格式”工具,这是一个节省时间的好帮手。
课程总结 📝
本节课中,我们一起学习了数据清洗是提高数据质量的关键步骤。你现在了解了许多不同的数据清洗方法,包括处理重复数据、移除无关信息、清理空格、修正错误以及统一格式。
在下一个视频中,你将进一步运用这些知识,学习如何清理来自多个数据源的数据。
014:清洗多源数据 📊

在本节课中,我们将要学习如何处理来自多个来源的数据集。当数据来自两个或更多不同的源头时,清洗工作会面临独特的挑战。我们将探讨数据合并的概念、常见的兼容性问题,以及如何为分析做好准备。
欢迎回来。到目前为止,你已经学习了很多关于脏数据以及如何清理数据集中最常见错误的知识。
现在,我们将更进一步,讨论如何清理多个数据集。
对于数据分析师来说,清理来自两个或更多来源的数据是非常常见的,但这确实会带来一些有趣的挑战。一个很好的例子是公司合并。
合并是一种将两个组织联合成一个全新实体的协议。在物流领域,最近发生了很多重大变化,这主要归功于电子商务的蓬勃发展。
由于很多人都在网上购物,负责将这些产品配送到家的公司正处于一场重大变革之中,这是合乎情理的。
当一个行业发生重大变化时,两个组织通过合并联手并变得更强大是很常见的。让我们谈谈这将如何影响我们的物流协会。
快速回顾一下,这个电子表格列出了协会成员的ID号、姓名、地址、每位成员支付的会费金额、会员资格到期时间以及会员类型。
现在,让我们设想一下,如果国际物流协会决定与全球物流协会合作,以帮助其成员应对电子商务的巨大需求,会发生什么。
首先,需要使用数据合并将所有来自每个组织的数据组合起来。
数据合并是将两个或多个数据集组合成单个数据集的过程。
这带来了一个独特的挑战,因为当两个完全不同的数据集被合并时,信息几乎肯定会出现不一致和不对齐的情况。
例如,全球物流协会的电子表格中有一个单独的列用于记录个人的套房、公寓或单元号。但国际物流协会将这些信息与他们的街道地址合并在一起。
这需要被纠正,以使地址列的数量保持一致。
接下来,看看全球物流协会如何使用人们的电子邮件地址作为他们的会员ID,而国际物流协会则使用数字。
这是一个大问题,因为特定行业(如物流业)的人通常会加入多个专业协会,因此这些数据集很可能以不同的方式包含了同一个人的会员信息。
移除这些重复项至关重要。
此外,全球物流协会的会员类型比另一个组织多得多。更重要的是,它使用“年轻专业人士”这个术语,而不是“学生会员”。
但两者都描述了仍在学校或刚刚开始职业生涯的成员。如果你要合并这两个数据集,你需要与你的团队合作,解决这两个协会描述会员资格的方式大不相同的问题。
好了,现在你明白了为什么组织的合并也需要数据的合并,而这可能很棘手。但数据分析师合并数据集还有很多其他原因。
例如,在我过去的一份工作中,我合并了许多来自多个来源的数据,以获得关于客户购买的洞察。
我获得的这类洞察帮助我识别了客户的购买模式。在合并数据集时,我总是从问自己一些关键问题开始,以帮助我避免冗余,并确认数据集是兼容的。
在数据分析中,兼容性描述了两个或多个数据集能够协同工作的程度。
因此,我要问的第一个问题是:我是否拥有收集客户购买洞察所需的全部数据?我需要确保我拥有关于客户、他们的购买行为以及购物地点的数据。
接下来,我会问:我需要的数据是否存在于这些数据集中?
正如你在这个课程早期所学到的,这涉及到从分析的角度考虑整个数据集。在使用数据之前先浏览一遍,让我能了解它的大致内容、模式结构、它是否与我的客户购买洞察相关,以及它是否是干净的数据。
这引出了下一个问题:这些数据集是否需要清洗,还是已经可以供我使用?
并且由于我正在处理多个来源,我还会问自己:这些数据集是否按照相同的标准进行了清洗?例如,哪些字段是定期重复的?如何处理缺失值?数据最近一次更新是什么时候?
在项目开始时找到这些问题的答案,并理解是否需要修复任何问题,是数据合并中非常重要的一步。
在我们探讨的这两个例子中,数据分析师都可以使用电子表格工具或SQL查询来清理、合并和准备数据集以供分析。
根据你决定使用的工具,清理过程可能很简单,也可能非常复杂。很快,你将学习如何为你的情况做出最佳选择。

最后需要注意的是,像R这样的编程语言对于清洗数据也非常有用。你很快将学习更多关于如何使用R以及我们涵盖的其他概念的知识。
本节课总结
在本节课中,我们一起学习了处理多源数据的关键步骤。我们探讨了数据合并的概念及其挑战,例如数据格式不一致、ID系统不同以及术语差异。我们强调了在合并前评估数据兼容性和清洗标准的重要性,并介绍了使用电子表格、SQL或R等工具进行清理的通用方法。理解这些原则是确保合并后数据准确、可用于分析的基础。
015:电子表格中的数据清洗功能 📊

在本节课中,我们将学习电子表格中内置的强大数据清洗工具。这些工具能帮助数据分析师高效地识别和修正数据中的问题,例如重复项、格式不一致以及错误的数据类型。
正如之前所学,清理数据有多种方法。我们已经了解了一些手动清理数据的例子,例如查找并修正拼写错误,或移除空格和重复项。我们还知道,许多电子表格应用程序都提供了工具来简化和加速数据清洗过程。
数据分析师经常使用一些高效的效率工具,例如条件格式、删除重复项、格式化日期、修复文本字符串和子字符串,以及将文本分列。现在,我们将更详细地探讨这些工具。
条件格式 🎨
上一节我们提到了多种工具,本节中我们来看看第一个工具:条件格式。
条件格式是一种电子表格工具,当单元格的值满足特定条件时,它会改变单元格的显示方式。同样,它也能让你知道单元格何时不满足你设定的条件。
这种视觉提示对数据分析师非常有用,尤其是在处理包含大量数据的大型电子表格时。让某些数据点突出显示,可以使信息更容易理解和分析。对于数据清洗而言,知道数据何时不符合条件非常有帮助。
让我们回到物流协会的电子表格,看看条件格式的实际应用。我们将使用条件格式来高亮显示空白单元格。这样,我们就知道哪里缺少信息,以便将其添加到表格中。
以下是操作步骤:
- 首先,选择要搜索的范围。在本例中,我们不关注“地址3”和“地址5”列,因此选择范围将包含除F列和H列之外的所有列。
- 接着,转到“格式”菜单,选择“条件格式”。
- 很好,我们的范围已自动显示在字段中。格式规则将设置为:如果单元格为空,则格式化单元格。
- 最后,选择格式样式。我将选择亮粉色,这样我的空白单元格会非常突出。然后点击“完成”。
空白单元格立即被高亮显示出来。
删除重复项 🔄
接下来,我们学习删除重复项工具。正如之前所学,在删除任何内容之前,最好先复制一份数据集。所以我们现在先这样做。
很好,现在我们可以继续了。你可能还记得,我们的示例电子表格中有一个协会成员被列出了两次。要修正这个问题,请转到“数据”菜单,选择“删除重复项”。
“删除重复项”是一个自动搜索并消除电子表格中重复条目的工具。
以下是操作步骤:
- 选择“数据包含标题行”,因为我们的电子表格最顶部有一行描述了每列的内容。
- 接着,选择“全部”,因为我们想检查整个电子表格。
- 最后,点击“删除重复项”。
你会注意到重复的行已被找到并立即移除。
格式化日期 📅
另一个有用的电子表格工具可以让你使格式保持一致。例如,此电子表格中的一些日期是标准日期格式,而另一些则不是。如果你想分析协会成员的加入时间、续订频率或他们在协会的时长,这可能会造成混淆。
为了使所有日期格式一致,请先选择J列,然后转到“格式”菜单,选择“数字”,再选择“日期”。现在,我们所有的日期都有了统一的格式。
拆分文本到列 ✂️
在介绍下一个工具之前,我想解释一下什么是文本字符串。在数据分析中,文本字符串是单元格内的一组字符,通常由字母组成。文本字符串的一个重要特性是其长度,即其中包含的字符数。你很快就会学到更多相关内容。现在,还需要注意,子字符串是文本字符串的一个更小的子集。
现在,让我们谈谈“拆分”工具。“拆分”是一个围绕指定字符分割文本字符串,并将每个片段放入新的独立单元格的工具。当你一个单元格中有多个数据片段,并且希望将它们分开时,“拆分”非常有用。这可能是一个人的名和姓列在一起,或者一个单元格包含某人的城市、州、国家和邮政编码,但你实际上希望每个部分都在自己的列中。
假设该协会想要分析其成员获得的所有不同专业认证。为此,你需要将每个认证分离到自己的列中。目前,认证之间用逗号分隔。这就是分隔每个项目的指定文本,也称为分隔符。
让我们将它们分开:
- 高亮显示该列。
- 然后选择“数据”菜单。
- 选择“将文本拆分为列”。
这个电子表格应用程序自动识别出逗号是分隔符,并分隔了每个认证。但有时你可能需要指定分隔符是什么,你可以在这里进行设置。
“将文本拆分为列”对于修复存储为文本的数字实例也很有帮助。有时,电子表格中的值看起来像数字,但格式却是文本。这可能发生在从一个地方复制粘贴到另一个地方时,或者格式设置错误时。
对于这个例子,让我们查看来自一家化妆品制造商的新电子表格。如果数据分析师想确定总利润,他们可以将F列中的所有内容相加。但有一个问题:其中一个单元格有错误。如果你检查它,会发现该单元格中的“707”是文本,无法更改为数字。因此,当电子表格尝试将产品成本乘以售出单位数量时,它无法进行计算。
但是,如果我们选择“订单”列,并选择“将文本拆分为列”,错误就解决了,因为它现在可以被当作数字处理。
连接函数 🔗
接下来,你将学习一个功能完全相反的工具。“连接”是一个将多个文本字符串合并为一个字符串的函数。

电子表格是数据分析中非常重要的一部分。它们为数据分析师节省了时间和精力,并帮助我们每天消除错误。在这里,你了解了一些我们最常用的工具,但还有更多内容即将到来。下一节,我们将学习更多关于使用电子表格工具进行数据清洗的知识。
本节课中,我们一起学习了电子表格中的关键数据清洗功能:使用条件格式高亮显示问题数据;利用删除重复项工具清理重复记录;通过格式化日期确保时间数据的一致性;运用拆分文本到列功能分离复合数据;以及了解了连接函数用于合并文本。掌握这些工具能显著提升数据清洗的效率和准确性。
016:谷歌数据分析师课程第四课《从脏数据到干净数据的处理》 🧹

课程概述
在本节课中,我们将学习如何利用电子表格中的函数来优化数据清洗流程,确保数据的完整性。我们将介绍一系列实用的函数,帮助你高效地识别和修正数据中的常见问题。
优化数据清洗流程
上一节我们介绍了电子表格内置的一些数据清洗工具。本节中,我们将探索如何使用函数来优化你的工作,以确保数据的完整性。
函数是一组指令,用于对电子表格中的数据执行特定计算。
使用 COUNTIF 函数检查异常值
我们将讨论的第一个函数是 COUNTIF。COUNTIF 函数用于返回与指定值匹配的单元格数量。本质上,它计算某个值在一系列单元格中出现的次数。
让我们回到专业协会的电子表格示例。在这个例子中,我们希望确保协会的会员费被准确列出。我们将使用 COUNTIF 来检查一些常见问题,例如负数或远低于/高于预期的值。
以下是使用 COUNTIF 的步骤:
- 首先,找到最便宜的会员费。学生会员是100美元,这将是该列中存在的最低数字。如果任何单元格的值小于100,
COUNTIF会提醒我们。 - 在电子表格底部添加几行。然后在H列下方输入“会员费小于100”。
- 在旁边的单元格中输入函数。每个函数都有特定的语法,必须遵循才能正常工作。语法是一种预定义的结构,包含所有必需的信息及其正确位置。
COUNTIF函数的语法如下:=COUNTIF(范围, “指定值”)。- 因此,函数将显示为:
=COUNTIF(I2:I72, “<100”)。其中I2:I72是范围,值是“小于100”。 - 这告诉函数遍历I列,并返回所有包含小于100的数字的单元格的计数。
结果显示有一个。滚动查看数据,我们发现有一条数据被错误地输入为负数。现在让我们修复它。
接下来,我们将使用 COUNTIF 搜索任何高于预期的值。最贵的会员类型是公司会员的500美元。在单元格中输入函数。这次它将显示为:=COUNTIF(I2:I72, “>500”)。I2:I72 仍然是范围,但值是“大于500”。这里也有一个,检查一下。这个条目多了一个零,应该是100美元。
使用 LEN 函数验证文本长度
我们将讨论的下一个函数是 LEN。LEN 函数通过计算文本字符串包含的字符数来告诉你其长度。这在清洗数据时很有用,特别是当你知道电子表格中的某些信息必须包含特定长度时。
例如,该协会使用六位数的会员识别码。因此,如果我们刚导入这些数据,并想确保我们的代码都是正确的位数,我们会使用 LEN。
LEN 的语法是:=LEN(范围)。
因此,我们将在“会员ID”列后插入一个新列。然后输入等号,接着输入 LEN(。范围是A2中的第一个会员ID号。通过闭合括号来完成函数。它告诉我们A2单元格中有六个字符。
让我们在整个列中继续这个函数,并找出是否有任何结果不是6。但与其手动浏览电子表格来搜索这些情况,我们将使用条件格式。我们之前讨论过条件格式,它是一个电子表格工具,当值满足特定条件时,会改变单元格的外观。现在让我们实践一下。
- 选择B列的所有单元格(标题除外)。
- 然后转到“格式”,选择“条件格式”。
- 格式规则是:如果单元格不等于6,则格式化单元格。点击“完成”。
- 包含7的单元格被高亮显示。
使用 LEFT 和 RIGHT 函数提取子字符串
现在,我们将讨论 LEFT 和 RIGHT。
LEFT是一个函数,从文本字符串的左侧给你指定数量的字符。RIGHT是一个函数,从文本字符串的右侧给你指定数量的字符。
快速提醒一下,文本字符串是单元格内的一组字符,通常由字母、数字或两者组成。为了看到这些函数的实际应用,让我们回到之前化妆品制造商的电子表格。
这个电子表格包含产品代码。每个代码都有一个五位数的数字代码和一个四字符的文本标识符。但假设我们只想处理其中一侧。你可以使用 LEFT 或 RIGHT 来获取你需要的特定字符或数字集。
我们将首先使用 LEFT 函数来练习清理数据。LEFT 的语法是:=LEFT(范围, 从文本字符串左侧开始所需的字符数)。
这里,我们的项目只需要五位数的数字代码。因此,在一个单独的列中,输入 =LEFT(。然后添加范围,我们的范围是A2。然后输入逗号和数字5(对应我们的五位数产品代码)。最后,用闭合括号完成函数。我们的函数应该显示为:=LEFT(A2, 5)。按回车键,现在我们有了一个子字符串,即仅产品代码的数字部分。点击并拖动此函数到整个列,以仅按数字分离出其余的产品代码。
现在,假设你的项目只需要四字符的文本标识符。为此,我们将使用 RIGHT 函数。在下一列开始函数。语法是:=RIGHT(范围, 我们想要的字符数)。现在输入:=RIGHT(A2, 4)。按回车键,然后在整个列中拖动函数。
现在,我们可以根据子字符串(五位数字代码或四字符文本标识符)来分析电子表格中的产品。希望这能清楚地说明如何使用 LEFT 和 RIGHT 从字符串的左侧和右侧提取子字符串。
使用 MID 函数提取中间部分
现在,让我们学习如何提取中间的内容。这里我们将使用一个叫做 MID 的函数。MID 是一个函数,从文本字符串的中间给你一个片段。
这家化妆品公司使用客户代码列出其所有客户。它由客户所在城市的前三个字母、其州缩写和一个三位数标识符组成。但假设数据分析师只需要处理中间的状态。
MID 的语法是:=MID(范围, 起始位置, 字符数)。使用 MID 时,你总是需要提供一个参考点,换句话说,你需要设置函数应该从哪里开始。之后,放置另一个逗号和你想要的中间字符数。
在这个例子中,我们的范围是D2。让我们在一个新列中开始函数。输入 =MID(。D2。然后,前三个字符代表城市名,这意味着起始点是第四个。添加逗号和4。我们还需要告诉函数我们想要多少个中间字符。再添加一个逗号和2,因为州缩写是两个字符长。按回车键,我们就得到了州缩写。继续将 MID 函数应用到列的其余部分。
使用 CONCATENATE 函数合并文本
我们已经学习了一些帮助分离特定文本字符串的函数,但如果我们想合并它们呢?为此,我们将使用 CONCATENATE,这是一个将两个或更多文本字符串连接在一起的函数。
语法是:=CONCATENATE(要连接的文本字符串1, 文本字符串2, ...)。
所以,只是为了练习,假设我们需要将左侧和右侧的文本字符串重新连接成完整的产品代码。在一个新列中,开始我们的函数。输入 =CONCATENATE(。然后,我们要连接的第一个文本字符串在H2中。然后添加逗号。第二部分在I2中。闭合括号,然后按回车键。将其向下拖动到整个列。就这样,我们所有的产品代码又重新组合在一起了。
使用 TRIM 函数清理多余空格
我们将在这里学习的最后一个函数是 TRIM。TRIM 是一个删除数据中前导、尾随和重复空格的函数。有时,当你导入数据时,你的单元格有额外的空格,这可能会妨碍你的分析。
例如,如果这家化妆品制造商想要查找特定的客户名称,如果它有额外的空格,它将不会在搜索中显示。你可以使用 TRIM 来修复这个问题。
TRIM 的语法是:=TRIM(范围)。
因此,在一个单独的列中,输入 =TRIM(。范围是C2,因为你想检查客户名称。闭合括号,然后按回车键。最后,将函数向下延续到该列。TRIM 修复了多余的空格。

课程总结
本节课中,我们一起学习了一些非常有用的函数,它们可以使你的数据清洗工作更加成功。这些函数包括用于检查异常值的 COUNTIF、验证文本长度的 LEN、提取子字符串的 LEFT、RIGHT 和 MID、合并文本的 CONCATENATE,以及清理空格的 TRIM。
信息量很大,所以一如既往,欢迎随时回看视频并自行练习。我们很快将继续在这些工具的基础上进行构建,你也将有机会进行实践。不久之后,这些数据清洗步骤就会变得像刷牙一样自然。😊
017:17_02_07_不同数据视角.zh_en - GPT中英字幕课程资源 - BV19m4y1J7dG


📊 课程概述
在本节课中,我们将学习数据分析师如何通过不同的视角和方法来审视数据。改变看待数据的方式,能够帮助我们更高效、更有效地识别和清理数据中的问题。我们将重点介绍排序、筛选、数据透视表、VLOOKUP函数以及数据绘图这几种核心工具。
🔍 改变视角的重要性
励志演说家韦恩·戴尔曾说:“如果你改变看待事物的方式,你所看到的事物就会改变。” 这句话在数据分析领域尤为贴切。没有任何两个数据分析项目是完全相同的,因此不同的项目需要我们以不同的方式关注不同的信息。
在本视频中,我们将探索数据分析师用来以不同方式查看数据的不同方法,以及这些方法如何带来更高效、更有效的数据清理。
📈 排序与筛选
上一节我们介绍了改变数据视角的重要性,本节中我们来看看最基础的两个工具:排序和筛选。
正如之前所学,排序和筛选数据有助于数据分析师根据特定项目的需求,自定义和组织信息。但这些工具在数据清理中也同样非常有用。
以下是排序和筛选在数据清理中的具体应用:
- 排序:排序涉及将数据排列成有意义的顺序,以便于理解、分析和可视化。在数据清理中,你可以使用排序将数据按字母或数字顺序排列,从而轻松找到特定数据。排序还可以将重复的条目放在一起,以便更快地识别它们。
- 筛选:筛选意味着只显示符合特定条件的数据,同时隐藏其余部分。在数据清理时,当你想要查找特定信息时,筛选器非常有用。例如,你可以使用筛选器只查找高于某个数字的值,或者仅查找偶数或奇数值。这有助于你快速找到所需内容,并将所需信息与其他信息分离开来,从而提高数据清理的效率。
📊 数据透视表
除了排序和筛选,另一种改变数据查看方式的方法是使用数据透视表。
数据透视表是一种用于数据处理的数据汇总工具。它可以对数据库中存储的数据进行排序、重组、分组、计数、求和或求平均值。
在数据清理中,数据透视表用于快速、清晰地查看数据。你可以选择查看数据集中需要的特定部分,并以数据透视表的形式获得可视化结果。
让我们再次使用我们的化妆品制造商电子表格来创建一个数据透视表。
首先,选择我们要使用的数据。这里我们选择整个电子表格。然后选择“数据” -> “数据透视表” -> “新建工作表” -> “创建”。
假设我们正在进行的项目要求我们只查看利润最高的产品,即订单为化妆品制造商带来至少10,000美元利润的产品。
我们将“行”设置为“总利润”,并按降序排序,将利润最高的项目放在顶部,并显示总计。
接下来,我们为“产品”添加另一行,这样我们就知道这些数字对应的是什么产品。
通过数据透视表,我们可以清楚地确定利润最高的产品是产品代码为 15143 EXFO 和 32729 MASC 的产品。对于这个特定项目,我们可以忽略其余产品,因为它们的订单利润低于10,000美元。
现在,我们或许可以根据上下文线索假设我们正在讨论去角质产品和睫毛膏,但我们不知道具体是哪种,甚至这个假设是否正确。因此,我们需要确认产品代码对应的是什么。这就引出了下一个工具。
🔎 VLOOKUP函数
VLOOKUP代表垂直查找。它是一个函数,用于在列中搜索某个值以返回相应的信息。
当数据分析师为项目查找信息时,他们需要的所有数据很少会放在同一个地方。通常,你需要在多个工作表甚至不同的数据库中搜索。
VLOOKUP的语法是:=VLOOKUP(查找值, 查找范围, 返回列索引, [匹配模式])
具体解释如下:
=VLOOKUP(:以等号和函数名开始。查找值:你想要查找的数据。,:逗号分隔参数。查找范围:你想要在其中查找数据的区域。在我们的例子中,这将是工作表名称后跟感叹号。感叹号表示我们正在引用当前工作所在工作表之外的另一个工作表中的单元格。这在数据分析中非常常见。返回列索引:在查找范围中,包含要返回值的列的索引号(从1开始计数)。[匹配模式]:输入FALSE表示我们寻找精确匹配。最后,用右括号)结束函数。
简单来说,VLOOKUP在指定位置的最左列中搜索第一个参数中的值。然后,第三个参数的值告诉VLOOKUP从指定列返回同一行的值。FALSE 告诉VLOOKUP我们需要精确匹配。
接下来,我们将开始实际操作。我们输入 =VLOOKUP,然后添加我们要查找的数据,即产品代码。美元符号 $ 确保引用的相应部分保持不变或被“锁定”。你可以只锁定列、只锁定行,或者同时锁定两者。
然后,我们告诉它查看工作表2的两列。我们添加了 2 来代表第二列。最后一个参数 FALSE 表示我们需要精确匹配。
有了这些信息,我们现在可以仅针对利润最高的产品进行数据分析。

📉 数据绘图
我们将讨论的最后一个工具是数据绘图。当你绘制数据时,你将其放入图表、图形、表格或其他可视化形式中,以帮助你快速了解数据的分布情况。
在尝试识别任何有偏差的数据或异常值时,绘图非常有用。
例如,如果我们想确保每个产品的价格是正确的,我们可以创建一个图表。这将为我们提供一个视觉辅助工具,帮助我们快速判断是否有任何数据看起来像是错误。
让我们选择包含价格的列。然后转到“插入”并选择“图表”。选择柱形图作为类型。
图表中有一个价格看起来极低。如果我们深入研究,会发现这个项目的价格小数点位置错了。它应该是 $7.30,而不是 $0.73。这会对我们的总利润产生重大影响,因此我们在数据清理过程中发现这个问题是件好事。
🎯 课程总结
本节课中,我们一起学习了如何通过不同的视角和方法来审视和清理数据。我们介绍了排序和筛选的基础应用,探索了数据透视表如何提供清晰的数据汇总视图,学习了使用VLOOKUP函数跨表查找精确信息,最后通过数据绘图来直观地发现异常值。以新的、创造性的方式查看数据,能帮助数据分析师识别各种类型的“脏数据”。掌握这些工具,将使你的数据清理工作更加高效和准确。
018:更多数据清洗技术 🧹

概述
在本节课中,我们将学习数据清洗中的一个宏观且至关重要的概念:数据映射。我们将了解数据如何在系统间迁移和整合,以及如何通过数据映射确保不同来源的数据能够兼容地协同工作。
到目前为止,你已经学习了许多分析师用来清理数据以进行分析的不同工具和函数。
现在,我们将退一步,讨论干净数据的一些宏观层面。
知道如何修复具体问题,无论是使用电子表格工具手动操作还是使用函数,都极具价值。
但同样重要的是,思考你的数据如何在系统间移动,以及它在到达你的数据分析项目之前是如何演变的。
为此,数据分析师会使用一种称为数据映射的方法。
数据映射是将一个数据库中的字段与另一个数据库中的字段进行匹配的过程。
这对于数据迁移、数据集成以及许多其他数据管理活动的成功至关重要。
正如你之前所学,不同的系统以不同的方式存储数据。
例如,一个电子表格中的“州”字段可能显示为拼写完整的“Maryland”,但另一个电子表格可能将其存储为“MD”。
数据映射帮助我们记录这些差异,以便我们知道当数据被移动和合并时,它们将是兼容的。
快速回顾一下,兼容性描述了两个或多个数据集协同工作的能力。
因此,数据映射的第一步是确定需要移动哪些数据。
这包括表及其中的字段。
我们还需要定义数据到达目的地后的期望格式。
为了理解这是如何运作的,让我们回到两个物流协会合并的例子。
从第一个数据字段开始,我们将确定需要移动两组会员ID。
为了定义期望格式,我们将选择是使用数字(像这个电子表格),还是使用电子邮件地址(像另一个电子表格)。
接下来是映射数据。
根据数据源的架构以及主键和外键的数量,数据映射可能很简单,也可能非常复杂。
提醒一下,架构是描述事物组织方式的方法。
主键引用的是其中每个值都唯一的列。
而外键是一个表中的字段,它是另一个表中的主键。
对于更具挑战性的项目,你可以使用各种数据映射软件程序。
这些数据映射工具将逐字段分析如何将数据从一个地方移动到另一个地方。
然后它们会自动清理、匹配、检查和验证数据。
它们还会创建一致的命名约定,确保数据从一个源传输到另一个源时的兼容性。
在选择用于映射数据的软件程序时,你需要确保它支持你正在使用的文件类型,例如 Excel、SQL、Tableau 等。
稍后,你将学习更多关于为特定任务选择正确工具的知识。
现在,让我们练习手动映射数据。
首先,我们需要确定每个部分的内容,以确保数据最终出现在正确的位置。
例如,关于会员资格何时到期的数据,将被合并到一个单独的列中。
此步骤确保每条信息最终都出现在合并数据源中最合适的位置。
现在,你可能还记得两个组织之间的一些数据不一致,例如,一个组织为套房公寓或单元号使用单独的列,但另一个组织没有。
这引出了下一步:将数据转换为一致的格式。
这是使用 CONCATENATE 函数的好时机。
正如你之前所学,CONCATENATE 是一个连接两个或多个文本字符串的函数,这正是我们之前在化妆品公司示例中所做的。
所以,我们将插入一个新列,然后输入 =CONCATENATE,接着是我们想要合并的两个文本字符串。
将此公式拖动到整个列,现在我们在新的合并协会会员地址列表中就有了一致性。
好的。既然一切都兼容了,是时候将数据传输到其目的地了。
将数据从一个地方移动到另一个地方有很多不同的方法,包括查询、导入向导,甚至是简单的拖放。
好了,这是我们的合并电子表格。
它看起来不错,但我们仍然想确保所有内容都正确传输了。
因此,我们将进入数据映射的测试阶段。
为此,你需要检查一个数据样本,以确认它是干净的且格式正确。
对诸如空值数量等项目进行抽查也是一个明智的做法。
对于测试,你可以使用我们之前讨论过的许多数据清理工具,例如数据验证、条件格式、COUNTIF、排序和筛选。

最后,一旦你确定数据是干净且兼容的,你就可以开始将其用于分析了。
数据映射之所以如此重要,是因为在合并数据时,即使是一个错误也可能在整个组织中产生连锁反应,导致相同的错误一次又一次地出现,从而产生糟糕的结果。
另一方面,数据映射可以通过为你提供一个清晰的路线图来确保你的数据安全到达目的地,从而解决问题。
这就是你学习如何操作它的原因。
总结
本节课中,我们一起学习了数据映射的核心概念。我们了解到,数据映射是确保不同来源数据在迁移和整合过程中保持兼容性的关键步骤。通过识别数据、定义格式、手动或自动映射、转换格式、传输数据以及最终测试验证,我们可以构建一个清晰可靠的路线图,将“脏数据”安全地转化为可用于分析的“干净数据”。掌握数据映射,能有效避免因数据合并错误而导致的重复性问题,为后续的数据分析打下坚实基础。
019:使用SQL清洗数据 🧹


欢迎回来,你在上周挑战中的表现非常出色。既然我们已经了解了干净数据与脏数据的区别,以及一些通用的数据清洗技术,现在让我们聚焦于使用SQL进行数据清洗。
在本节课中,我们将学习电子表格和SQL中不同的数据清洗函数,以及如何使用SQL来清洗大型数据集。我还会向你展示如何为数据库开发一些基础的搜索查询,以及如何应用基本的SQL函数来转换数据和清洗字符串。数据清洗是数据分析流程中,进入实际分析前的最后一步,而SQL拥有许多出色的工具可以帮助你完成这项工作。


但在我们开始清洗数据库之前,我们将更深入地了解SQL以及何时使用它。
我们稍后见。
020:萨莉谈SQL的重要性 🗃️💡

在本节课中,我们将跟随谷歌的测量与分析负责人萨莉,了解SQL在数据分析师日常工作中的核心作用,以及它如何成为一项高需求的关键技能。
广告公司从客户那里获得资金,用于推广客户的品牌。这些公司会使用我们的产品,即某些谷歌广告平台。我的工作是帮助他们如何最有效地使用这些平台,以及他们可以采取哪些策略来成为行业佼佼者。
广告公司的许多员工都需要向客户发送报告。这些报告的创建和可视化需要花费大量时间。因此,我的工作是帮助从业者和分析团队使用一个特定的产品,使他们能够更快、更轻松地创建这些报告。
SQL:开启数据分析师的大门 🚪
上一节我们了解了数据分析在广告行业的具体应用。本节中,我们来看看SQL技能如何为你的职业生涯铺平道路。
如果你要开始成为一名数据分析师,这项技能会为你打开无数扇门。因为无论哪个行业,每个人都在追踪数据、使用数据、需要数据。从医疗保健到广告,从电子商务到娱乐,所有行业的一切事务都在使用数据。因此,每个人都需要数据分析师。
SQL如何让分析工作更高效 ⚡

SQL让我们在分析大量不同数据时生活变得更轻松。就在最近,我们使用的SQL程序才能为分析数百万或数十亿数据提供即时结果。
以下是SQL能力演进的关键点:
- 几年前,大约五年前左右,尽管我们仍然可以分析数百万行数据,但查询运行往往需要等待15分钟甚至30分钟。
- 而现在,查询结果是即时返回的。这非常令人兴奋,我们也可以利用这种能力做更多的事情。
SQL的核心价值与学习心得 💎
因此,SQL对我的职业生涯帮助很大,因为它是数据分析师必须掌握的基础技能之一。在过去,并非每个人都使用SQL。所以,懂SQL绝对是一个竞争优势。如今,我会说越来越多的人,也许是大多数人,都掌握了它。它是一项核心技能,受到所有人的高度追捧。

懂SQL、成为一名数据分析师会让你很受欢迎,在招聘者中相当受欢迎。我认为这很有趣。
我是自学SQL的。所以我对SQL的知识非常珍视,因为它几乎是我为自己创造的技能,我从中获得了巨大的满足感。这就是我如此喜欢SQL的原因。
体验SQL的即时魅力 ✨
我喜欢使用SQL的另一个原因是,当你在查询中输入一些内容,然后按下运行键,几乎立刻就能得到结果(取决于你使用的平台)。但令人着迷的是,从概念上思考,计算机根据那一点点命令代码为你完成了多少分析工作。如果你想想幕后发生的事情,它的力量是如此强大。我认为这很有趣。
大数据时代的职业前景 📈
我们生活在一个大数据的世界,而且数据量还在不断增长。计算能力也在呈指数级增长。因此,随着我们可以追踪的数据越来越多,我们对数据分析师的需求也越来越大。所以,我们的职业前景基本上是飞速上升的。
我是萨莉,是谷歌的测量与分析负责人。
本节课总结
本节课中,我们一起学习了SQL在数据分析领域的核心地位。萨莉分享了她作为谷歌测量与分析负责人的经验,阐述了SQL如何从一项竞争优势演变为数据分析师的必备核心技能。我们了解到SQL强大的即时分析能力如何提升工作效率,以及在大数据时代背景下,掌握SQL技能为数据分析师带来的广阔职业前景。
021:理解SQL功能 🗄️

在本节课中,我们将要学习SQL(结构化查询语言)的基础知识,了解数据分析师为何以及如何使用SQL来处理大规模数据集,并简要回顾SQL的发展历史。
在深入探讨数据分析师使用SQL清理数据的各种方法之前,我们首先需要正式认识一下SQL。我们已经多次提及SQL,也见识过一些数据库和SQL的基本功能,甚至了解了SQL如何用于处理数据。现在,让我们来正式定义SQL。
SQL是结构化查询语言,数据分析师用它来与数据库进行交互。数据分析师通常使用SQL处理大型数据集,因为它能够处理海量数据,甚至可以达到数万亿行的规模。
为了让你对这个数据量有更直观的感受,可以想象一个包含全球80亿人姓名的数据集。普通人需要101年才能读完这80亿个名字,而SQL可以在几秒钟内完成处理。我个人认为这非常酷。
相比之下,电子表格等其他工具处理如此大量的数据可能需要非常长的时间。这正是数据分析师在处理大数据时选择使用SQL的主要原因之一。

接下来,让我们简单了解一下SQL的历史。SQL的开发实际上始于20世纪70年代初。1970年,埃德加·F·科德提出了关系型数据库的理论。你可能还记得之前学习过的关系型数据库,它是一种包含一系列可以相互连接以形成关系的表的数据库。
当时,IBM正在使用一个名为System R的关系数据库管理系统。IBM的计算机科学家们试图找到一种方法来操作和检索System R中的数据。他们的第一个查询语言很难使用,因此他们很快转向了下一个版本——SQL。
经过广泛测试,SQL(现在拼写为SQL)于1979年公开发布。到了1986年,SQL已成为关系型数据库通信的标准语言,并且至今仍是如此。这也是数据分析师选择SQL的另一个原因:它是该领域内广为人知的标准。
我第一次使用SQL从真实数据库中提取数据,是在我的第一份数据分析师工作中。在此之前,我没有任何SQL背景知识,只是因为那份工作的要求才了解到它。该职位的招聘人员给了我一周时间来学习,于是我上网研究并最终自学了SQL。作为求职申请流程的一部分,他们甚至给了我一个书面测试,要求我在白板上编写SQL查询和函数。但从那以后,我一直在使用SQL,并且非常喜欢它。
就像我自学SQL一样,我也想提醒你,你也可以自己解决问题。网上有大量优秀的学习资源,所以不要因为某个职位要求而却步,而不先去研究一下。😊
既然我们更多地了解了数据分析师在处理大量数据时选择SQL的原因,以及SQL的一些历史,接下来我们将继续学习它的一些实际应用。
在接下来的内容中,我们将回顾一些在电子表格中学到的工具,并看看其中是否有适用于SQL工作的。悄悄告诉你:确实有。😊

本节课中我们一起学习了SQL的定义、其处理海量数据的强大能力、选择SQL的主要原因、SQL的简要发展历史,以及自学SQL的可行性。下一节,我们将探索SQL中的具体数据处理工具。
022:22_03_05_电子表格与SQL对比.zh_en - GPT中英字幕课程资源 - BV19m4y1J7dG


课程概述 📋
在本节课中,我们将要学习电子表格与SQL的异同。我们将探讨这两种工具的共同点、核心差异以及它们各自适用的场景,帮助你理解在数据分析工作中如何选择合适的工具。
电子表格与SQL的共同点 🤝
上一节我们介绍了电子表格和SQL各自的功能,本节中我们来看看它们之间有哪些相似之处。
电子表格和SQL实际上有很多共同点。具体来说,你可以在这两种工具中使用相似的工具来达成类似的结果。
我们已经学习过一些在电子表格中清洗数据的工具,这意味着你已经掌握了一些可以在SQL中使用的工具。
以下是它们共有的核心功能:
- 算术运算:你可以在SQL中执行计算。
- 使用公式:SQL中也有类似公式的查询语句。
- 连接数据:你可以在SQL中进行数据表的连接操作。
因此,我们可以将在电子表格中学到的技能应用到SQL中,并用它们来完成更复杂的工作。
复杂工作的示例:医院数据分析 🏥
为了说明什么是“更复杂的工作”,让我们来看一个例子。
如果我们正在处理一家医院的健康数据,我们需要能够访问和处理大量数据。
我们可能需要患者姓名、生日和地址等人口统计数据,他们的保险信息或过往就诊记录,公共卫生数据,甚至需要添加到他们病历中的用户生成数据。
所有这些数据都存储在不同的地方,甚至可能以不同的格式存储,每个位置可能有数百万行数据和数百个相关的数据表。这些数据量太大,无法手动输入,即使只针对一家医院也是如此。
这时SQL就派上用场了。我们无需查看每个单独的数据源并将其记录到电子表格中,而是可以使用SQL从数据库的不同位置提取所有这些信息。
现在,假设我们想在这海量数据中找到特定的信息,比如今天有多少患有某种诊断的病人前来就诊。
在电子表格中,我们可以使用 COUNTIF 函数来找出答案。
或者,我们可以在SQL中结合 COUNT 和 WHERE 查询来找出有多少行数据符合我们的搜索条件。
这两种方法会给出相似的结果,但SQL能够处理更庞大、更复杂的数据集。
电子表格与SQL的差异 🔄
接下来,我们来谈谈电子表格和SQL的不同之处。
首先,理解电子表格和SQL是两种不同的事物很重要。
电子表格是由像Excel或Google Sheets这样的程序生成的。这些程序旨在执行某些内置功能。
另一方面,SQL是一种语言,可用于与数据库程序(如Oracle、MySQL或Microsoft SQL Server)进行交互。
两者之间的差异主要在于它们的使用方式。
如果数据分析师获得的数据是电子表格形式,他们很可能会在该电子表格内进行数据清洗和分析。
但如果他们处理的是大型数据,例如超过一百万行或数据库中的多个文件,使用SQL会更简单、更快速且更具可重复性。
SQL可以访问和使用更多的数据,因为它可以自动从数据库的不同来源提取信息,这与电子表格不同,电子表格只能访问你输入的数据。
这也意味着数据存储在多个地方。数据分析师在独立工作时,可能会使用存储在本地硬盘或个人云端的电子表格。
但如果他们在一个更大的团队中,有多个分析师需要访问和使用数据库中的数据,SQL可能是一个更有用的工具。
适用场景总结 📊
由于这些差异,电子表格和SQL用于不同的事情。
正如你已经知道的,电子表格适用于较小的数据集,并且当你独立工作时非常方便。此外,电子表格具有内置功能,如拼写检查,这些功能非常实用。
SQL则非常适合处理大型数据集,即使是数万亿行的数据。
并且,由于SQL长期以来一直是与数据库通信的标准语言,它可以被调整并用于多种数据库程序。SQL还会记录查询的更改,这使得在团队协作时,可以轻松跟踪团队中的变更。
下节预告 🚀

接下来,我们将学习SQL中更多的查询和函数,这些将为你提供一些新的工具。你甚至可能会学到如何以全新的方式使用电子表格工具。下次见。

课程总结 ✨
本节课中我们一起学习了电子表格与SQL的对比。我们了解到,尽管两者在算术运算、公式使用和数据连接方面有共同之处,但它们在本质、数据容量、协作方式和适用场景上存在显著差异。电子表格适合处理小型数据和独立工作,而SQL则是处理大型、复杂数据集和团队协作的强大工具。理解这些差异将帮助你在实际工作中做出更明智的工具选择。
023:23_03_02_广泛使用的SQL查询.zh_en - GPT中英字幕课程资源 - BV19m4y1J7dG


课程概述 📋
在本节课中,我们将学习一些数据分析师最常使用的SQL查询。这些查询是处理和分析数据库中数据的基础工具,能帮助你从数据库中提取、插入、更新数据,甚至创建和删除表格。
查询简介
上一节我们介绍了SQL与电子表格的相似性。本节中,我们来看看SQL中一些最广泛使用的查询语句。查询是向数据库发出的请求,要求它为你执行特定操作。作为“结构化查询语言”,查询是SQL的核心部分。
以下是数据分析师经常使用的一些常见查询。
使用SELECT查询提取数据
首先,我将展示如何使用SELECT查询。我之前提到过它,但现在会加入一些新的尝试。
目前,表格查看器是空白的,因为我们还没有从数据库中提取任何数据。在这个例子中,我们工作的商店正在为特定城市的客户举办赠品活动。我们有一个包含客户信息的数据库,可以用来筛选出符合赠品活动资格的客户。
我们可以使用SELECT来指定我们想要与表中哪些数据进行交互。如果我们将SELECT与FROM结合使用,只要我们知道列和行的名称,就可以从这个数据库的任何表中提取数据。
我们可能想从其中一个表中提取关于客户姓名和城市的数据。为此,我们可以输入:
SELECT name, city
FROM customer_data.customer_address;
这条语句将从customer_address表中获取信息,该表位于customer_data数据集中。
因此,SELECT和FROM帮助我们指定要从数据库提取和使用的数据。

使用INSERT INTO插入新数据
我们也可以向数据库中插入新数据或更新现有数据。


例如,假设我们有一个新客户想要插入到这个表中。我们可以使用INSERT INTO查询来输入这些信息。
首先,我们需要指定尝试插入数据的目标表:customer_address表。

我们还需要通过在括号内键入列名来指定要将数据添加到哪些列。这样,SQL可以告诉数据库我们具体在哪里输入新信息。
然后,我们将告诉它我们要放入什么值。运行查询后,新数据就被添加到我们的表中了。
使用UPDATE更新现有数据
现在假设我们只需要更改一个客户的地址。我们可以告诉数据库为我们更新它。

为此,我们需要告诉它我们正在尝试更新customer_address表。然后我们需要让它知道我们要更改什么值。但我们还需要具体告诉它我们在哪里进行更改,以免它更改表中的每个地址。
执行后,这个特定客户的地址就被更新了。
使用CREATE TABLE创建新表
如果我们想为这个数据库创建一个新表,可以使用CREATE TABLE IF NOT EXISTS语句。

请记住,仅仅运行SQL查询并不会为我们提取的数据实际创建一个表。它只是将数据存储在我们的本地内存中。要保存它,我们需要将其下载为电子表格,或者将结果保存到一个新表中。
作为数据分析师,有几种情况可能需要这样做。这实际上取决于你提取的数据类型和频率。
如果你只使用客户总数,可能不需要CSV文件或数据库中的新表。但如果你使用每日客户总数来跟踪商店的周末促销等活动,则可能将该数据下载为CSV文件,以便在电子表格中进行可视化。
然而,如果要求你定期提取这种趋势数据,你可以创建一个表,该表将根据你编写的查询自动刷新。这样,每当需要为报告获取结果时,就可以直接下载。

使用DROP TABLE删除表
另一个需要注意的好习惯是,如果你在数据库中创建了许多表,应该使用DROP TABLE IF EXISTS语句来清理自己创建的表。

这是一种良好的内务管理。你可能不会经常删除现有的表。毕竟,那是公司的数据,你不想从他们的数据库中删除重要信息。但你可以确保清理自己创建的表,以免数据库中存在包含冗余信息的旧表或未使用的表,造成混乱。
课程总结 🎯
本节课中,我们一起学习了一些最广泛使用的SQL查询的实际应用。当然,还有更多的查询关键字和独特的组合需要学习,它们将帮助你在数据库中工作,但这是一个很好的起点。
接下来,我们将进一步学习SQL中的查询,以及如何使用它们来清理我们的数据。下次见。😊
024:谷歌数据分析师课程第四课《从脏数据到干净数据的处理》 🧹

概述
在本节课中,我们将跟随谷歌的学习组合经理埃文,了解他如何从会计领域转向数据分析,并探索SQL作为一种强大且易于入门的数据查询语言的魅力。我们将理解SQL的核心价值,并学习如何以好奇心和策略性的思维来使用它。
从会计到数据:我的旅程 👨💼➡️👨💻
我是埃文,是谷歌的一名学习组合经理。
我并非计算机科学或超级工程类型的人,但我非常喜欢与数字打交道。因此,我自然地进入了会计领域。在大约两年的会计工作后,我发现我并不想手动处理所有事情。
于是我选修了第一门信息系统课程,在那里我学习了SQL语言。这门课彻底改变了我的思维方式。它让我看到了电子表格的操作知识(改变一个单元格,整个表格就会因那些神奇的计算字段而更新)与SQL(可以在几秒钟内查询数十亿行数据)之间的强大联系。
我完全被数据的魅力所折服,并将我的生活和职业生涯致力于传播这份热情,让人们为能用数据所做的事情感到兴奋。
为什么SQL是绝佳的首选语言? 🤔
SQL能做很多事情。首先我要说明,我并非计算机科学专业出身,也不精通Java或Python。最初我对学习一门计算机语言有些 apprehensive(担忧)。

它有点像一种伪编程语言。但实际上,你可以在五分钟甚至更短的时间内写出你的第一条SQL语句,正如你即将在这里发现的那样。
SQL是一门易于学习、掌握起来更有趣的语言。我学习SQL已有15年,教授SQL也有10年。
正如你将在一些实践实验室中看到的,从数据库或数据中返回数据非常简单。你只需要使用类似 SELECT column1, column2 FROM database_name 的语句,就能立即取回数据。
真正有趣的部分在于,你可以尝试调整查询,例如添加更多列、以不同方式过滤数据集,并与同事分享。SQL本就是一种交互式查询语言,而“查询”就意味着提出问题。
如果让我给你一个挑战,那就是:学习SQL的语法就像学习国际象棋规则一样,非常容易上手。
但困难的部分实际上不在于语法书写,这与任何编程语言类似。真正的难点在于,你想向你的数据提出什么问题。
给初学者的建议:保持好奇,先思后行 💡
因此,我鼓励你对所接触的任何数据集都保持超级好奇。
在触碰键盘之前,花大量时间思考你能从数据集中获得什么数据或见解。
然后,开始享受乐趣。编写同一条正确的SQL语句有很多不同的方法。
所以,尝试一种方法,与你的朋友分享,然后开始获取数据以产生见解。
祝你好运。
总结
本节课中,我们一起学习了埃文从会计转向数据分析的个人经历,理解了SQL作为一种强大、易学的查询语言的核心优势。我们认识到,掌握SQL的关键不仅在于语法,更在于培养对数据的好奇心,并学会在分析前进行深思熟虑。记住,先从提出问题开始,再让SQL帮助你找到答案。
025:谷歌数据分析师第四课《从脏数据到干净数据的处理》- 使用SQL清洗字符串变量 🧹

在本节课中,我们将学习如何运用SQL来清洗数据,特别是处理字符串变量。我们将重点介绍如何去除重复数据,以及使用四种关键函数来确保字符串数据的完整性和一致性。
上一节我们介绍了SQL的基本查询和在数据库中的操作,本节中我们来看看如何将这些知识应用于数据清洗。
去除重复数据
在分析数据之前,去除重复项是确保数据准确性的重要步骤。在SQL中,我们可以使用DISTINCT关键字来实现这一点。
例如,假设我们公司为俄亥俄州的客户提供一项特别促销。我们想获取居住在俄亥俄州的客户ID,但某些客户信息被重复输入了多次。
以下是不使用DISTINCT的查询,它会返回所有记录,包括重复项:
SELECT Customer_ID
FROM customer_data.customer_address;
如果客户ID 9080在表中出现了三次,我们的结果中也会出现三次。为了获取唯一的客户ID列表,我们需要在SELECT语句中添加DISTINCT:
SELECT DISTINCT Customer_ID
FROM customer_data.customer_address;
现在,客户ID 9080在结果中只会出现一次。
清洗字符串变量
字符串变量是单元格中的一组字符,通常由字母、数字或两者组成。有时,这些字符串在数据库的不同位置以不同方式输入,导致它们不匹配。在这些情况下,您需要在分析之前清洗它们。
以下是您可以在SQL中用于处理字符串变量的一些函数。您可能在我们讨论电子表格时已经认识了其中一些,现在我们将以新的方式看到它们的作用。
1. LENGTH 函数
如果我们已经知道字符串变量应有的长度,可以使用LENGTH函数来双重检查字符串变量是否一致。在某些数据库中,此查询写作LEN,但功能相同。
假设我们正在处理之前示例中的customer_address表。我们可以使用LENGTH函数来确保所有国家代码具有相同的长度。
以下是检查国家代码长度的SQL查询:
SELECT LENGTH(country) AS letters_in_country
FROM customer_data.customer_address;
运行此查询会得到一个列表,显示每位客户对应国家字段的字母数量。结果显示,几乎所有国家代码都是两个字母,但我们注意到有一个是三个字母。这表明数据不一致。
为了找出哪些国家被错误地列出,我们可以将LENGTH(country)函数放入WHERE子句,以筛选出国家代码长度超过两个字母的客户:
SELECT country
FROM customer_data.customer_address
WHERE LENGTH(country) > 2;
运行此查询后,我们得到了两个国家,其字母数量超过了预期的两个。错误列出的国家显示为USA而不是US。
2. SUBSTR 函数
为了在结果中修正这个错误,我们可以在SQL查询中使用SUBSTR函数。这样,即使原始数据是USA,我们也能正确筛选出美国的客户。
以下是使用SUBSTR函数获取所有美国客户ID的查询:
SELECT customer_id
FROM customer_data.customer_address
WHERE SUBSTR(country, 1, 2) = ‘US’;
在这个查询中:
SUBSTR(country, 1, 2)表示从country列的第一个字符开始,提取两个字符。- 因此,无论是
US还是USA,都会被提取为US,从而被WHERE子句的条件匹配。
运行此查询后,我们得到了所有国家为美国的客户ID列表,包括那些原本是USA的客户。结果中可能仍然存在重复的客户ID,我们可以通过添加DISTINCT关键字来去除它们:
SELECT DISTINCT customer_id
FROM customer_data.customer_address
WHERE SUBSTR(country, 1, 2) = ‘US’;
3. TRIM 函数
TRIM函数在发现条目包含多余空格并需要消除这些空格以保持一致性时非常有用。
例如,让我们检查customer_address表中的state列。就像对国家列所做的那样,我们希望确保州列具有一致的字母数量。我们再次使用LENGTH函数来检查是否有任何州的字母数超过两个(这是我们期望在数据表中找到的)。
以下是检查州名长度的查询:
SELECT state
FROM customer_data.customer_address
WHERE LENGTH(state) > 2;
运行此查询后,我们得到了一个结果:有一个州的字母数超过两个。但看起来它只有两个字母(OH代表俄亥俄州)。既然SQL通过WHERE LENGTH(state) > 2条件筛选出了它,这意味着SQL计数的额外字符必须是一个空格——很可能是在H后面有一个空格。
这时我们就需要使用TRIM函数。TRIM函数会移除任何空格。
假设我们想要所有居住在俄亥俄州(OH)的客户ID列表。我们需要编写一个能修正这个错误的SQL查询:
SELECT DISTINCT customer_id
FROM customer_data.customer_address
WHERE TRIM(state) = ‘OH’;
在这个查询中:
TRIM(state)会移除state列值中的所有空格。- 因此,无论是
OH还是OH(后面带空格),经过TRIM处理后都会变成OH,从而被条件匹配。
运行此查询后,我们就得到了所有居住在俄亥俄州的客户ID,包括那个在H后面有额外空格的客户。
总结
本节课中我们一起学习了如何使用SQL来清洗字符串变量。我们掌握了三个核心函数:
LENGTH:用于检查字符串的长度是否一致。SUBSTR:用于提取字符串的特定部分,以标准化数据格式。TRIM:用于移除字符串首尾的空格,确保数据的一致性。

确保字符串变量完整且一致,将为您后期节省大量时间,避免错误或计算失误。这正是我们首先进行数据清洗的原因。希望LENGTH、SUBSTR和TRIM这些函数能为您提供所需的工具,开始处理您自己数据集中的字符串变量。
接下来,我们将探讨其他处理字符串的方法以及更高级的清洗函数。然后,您就可以准备开始独立使用SQL进行工作了。
026:谷歌数据分析师第四课《从脏数据到干净数据的处理》- 高级数据清洗函数第一部分 🧹

概述
在本节课中,我们将学习如何使用SQL中的高级函数来处理和清洗数据。我们将重点介绍CAST函数,它可以帮助我们将数据从一种类型转换为另一种类型,从而解决数据格式不正确导致的分析问题。
回顾与引入
上一节我们介绍了一些基础的SQL查询和函数,以及处理字符串变量的方法。本节中,我们来看看一个更强大的工具——CAST函数,它能帮助我们正确地格式化数据。
当你导入的数据原本不存在于你的SQL表中时,新数据的数据类型可能没有被正确识别。这时,CAST函数就派上用场了。
CAST函数简介
CAST函数的基本功能是将数据从一种数据类型转换为另一种数据类型。以下是其基本语法:
CAST(column_name AS new_data_type)
让我们通过一个例子来理解它的应用。
实战案例:家具店销售数据
假设我们正在为劳伦的家具店工作。店主收集了过去一年的交易数据,但她发现由于数据格式不正确,无法有效地组织这些数据。我们的任务是帮助她转换数据,使其重新变得有用。
例如,我们希望按purchase_price降序排列所有购买记录,即最贵的购买记录显示在最前面。
初始的SQL查询可能如下:
SELECT purchase_price
FROM customer_data.customer_purchase
ORDER BY purchase_price DESC;
运行此查询后,我们发现89.85排在了799.99前面。这显然不正确,因为799.99大于89.85。
问题诊断
问题的根源在于数据库将purchase_price列识别为字符串(STRING)类型,而不是浮点数(FLOAT)类型。当对字符串进行排序时,数据库会逐个字符进行比较。
- 比较
89.85和799.99时,首先比较第一个字符8和7。 - 由于字符
8的编码值大于7,因此89.85被排在了前面。
使用CAST函数解决问题
我们需要使用CAST函数将purchase_price从字符串转换为浮点数,以便数据库能将其识别为数字并进行正确的数值排序。
修改后的查询如下:
SELECT CAST(purchase_price AS FLOAT64)
FROM customer_data.customer_purchase
ORDER BY CAST(purchase_price AS FLOAT64) DESC;
代码解释:
CAST(purchase_price AS FLOAT64): 将purchase_price字段的值转换为FLOAT64类型(在BigQuery等64位系统中表示浮点数)。- 在
ORDER BY子句中同样使用转换后的字段进行排序。
运行此查询后,数据将按照价格数值从高到低正确排序。现在,劳伦家具店的数据就可以用于分析了。

CAST函数的其他用途
CAST函数不仅可以将字符串转换为数字,还可以转换为其他数据类型,例如日期(DATE)和时间(TIMESTAMP)。
作为数据分析师,你经常需要整合来自不同来源的数据。确保这些数据在你的数据库中被正确识别和可用,是你工作的重要部分,这能避免后续分析中出现问题。
总结
本节课我们一起学习了CAST函数的使用。我们了解到,当数据因类型错误而无法正确排序或计算时,可以使用CAST(column_name AS new_data_type)来转换数据类型。这解决了将字符串误判为数字进行排序的典型问题,是数据清洗中一个非常实用的工具。
CAST函数是你数据清洗工具箱中的一件利器。在接下来的课程中,我们将继续介绍其他高级函数,以丰富你的技能。
027:谷歌数据分析师课程第四课《从脏数据到干净数据的处理》- 高级数据清洗函数(第二部分)🔧


在本节课中,我们将继续学习SQL中的高级数据清洗函数。上一节我们介绍了CAST函数的基础用法,本节中我们将深入了解CAST函数的更多应用场景,并学习两个新的强大函数:CONCAT和COALESCE。这些工具将帮助你更高效地处理和准备数据,为后续分析打下坚实基础。
使用CAST函数转换日期类型 📅
我们之前讨论了CAST函数,它可以将文本字符串转换为浮点数。实际上,CAST函数还能用于转换其他数据类型。让我们通过一个实例来看看如何在数据工作中使用它。
我们继续使用劳伦斯家具店的交易数据。现在,我们需要查看purchase_date字段。家具店老板要求我们分析在12月促销期间发生的购买记录。我们需要编写一个SQL查询,提取2020年12月1日至2020年12月31日期间所有购买记录的日期和价格。
以下是构建查询的基本步骤:
- 从
customer_data数据集中的customer_purchase表选择数据。 - 在
SELECT语句中指定要提取的字段:date和purchase_price。 - 在
WHERE子句中添加过滤条件,仅选择12月份的记录。
运行查询后,我们得到了四条12月的购买记录。但日期字段的显示包含了时间信息,这是因为数据库将其识别为DATETIME类型。虽然查询结果正确,但我们可以使用CAST函数使其仅显示日期部分,让结果更清晰。
为此,我们在SELECT语句中修改date字段:
CAST(date AS DATE)
现在,查询结果将只显示促销期间的日期,数据看起来更整洁。CAST是一个在数据清洗和排序中非常有用的函数。
使用CONCAT函数创建唯一键 🔑
接下来,让我们看看CONCAT函数。CONCAT允许你将多个字符串连接在一起,创建新的文本字符串,这常被用作唯一标识符或键。
回到我们的customer_purchase表,家具店销售同款产品的不同颜色。老板想知道顾客是否偏好某些颜色,以便相应地管理库存。问题是,无论产品颜色如何,product_code都是相同的。我们需要另一种方法来按颜色区分产品,从而判断顾客的偏好。
这时就可以使用CONCAT来生成一个结合了产品和颜色的唯一键,帮助我们更轻松地进行区分和计数。
以下是构建查询的方法:
- 从
customer_data.customer_purchase表中选择数据。 - 在
SELECT语句中使用CONCAT函数,将product_code和product_color字段连接起来。 - 假设我们只想查看沙发,则在
WHERE子句中添加过滤条件:product = ‘Couch’。
通过CONCAT,家具店可以统计每种颜色沙发的购买次数,从而找出最受欢迎的颜色并增加库存。
使用COALESCE函数处理空值 ⚙️
我要介绍的最后一个函数是COALESCE。COALESCE可用于返回列表中的第一个非空值。空值(NULL)就是缺失值。如果你的表中某个字段是可选的,那么对于那些没有合适值的行,该字段就会显示为NULL。
查看customer_purchase表,我们会发现有几行数据的产品信息是缺失的,因此那里显示为NULL。但在产品名称为NULL的行中,我们仍有product_code数据可供使用。我们更希望SQL显示像“床”或“沙发”这样的产品名称,因为这更便于阅读。如果产品名称不存在,我们可以指示SQL改为提供产品代码。这正是COALESCE函数的用武之地。
假设我们需要一份所有已售产品的列表。我们希望使用product_name列来了解售出了何种产品。
以下是构建查询的步骤:
- 从
customer_data.customer_purchase表中选择数据。 - 在
SELECT语句中,我们使用COALESCE函数:首先检查product_name列,如果该列为空,则返回product_code列的值。 - 我们可以将这个新字段命名为
product_info。 - 由于不需要过滤数据,我们可以省略
WHERE子句。

这样,我们就得到了每次购买的产品信息列表,方便店主查阅。
此外,COALESCE在进行计算时也能节省时间,它可以跳过任何空值,确保数学运算的正确性。
总结 📝
本节课中我们一起学习了SQL中三个高级数据清洗函数:
CAST函数:用于将数据从一种类型转换为另一种类型,例如将DATETIME转换为DATE,使数据显示更清晰。CONCAT函数:用于连接多个字符串,创建新的唯一标识符,帮助区分和聚合数据。COALESCE函数:用于处理空值,返回提供的参数列表中的第一个非空值,确保数据的完整性和可读性。
这些只是你可以用来清洗数据、为分析下一步做准备的部分高级函数。随着你在SQL中不断深入,还会发现更多有用的工具。本模块到此结束,你做得很好!我们涵盖了大量内容,学习了电子表格和SQL中不同的数据清洗函数,了解了使用SQL处理大型数据集的好处,并向你的工具箱中添加了一些SQL公式和函数。最重要的是,我们亲身体验了SQL如何帮助你为分析准备好数据。

接下来,你将花时间学习如何验证和报告你的清洗结果,以确保数据绝对干净,并且让你的相关方了解这一点。在此之前,你还需要完成另一个每周挑战。一些概念起初可能看起来具有挑战性,但随着你在职业生涯中的进步,它们会成为你的第二天性,这只需要时间和练习。说到练习,欢迎你随时回看这些视频,甚至可以自己尝试一些这些命令。祝你好运,当你准备好时,我们下次再见!
028:谷歌数据分析师第四课《从脏数据到干净数据的处理》 🧹✨

课程概述
在本节课中,我们将要学习数据清洗流程中的关键一步:验证数据完整性并报告清洗结果。我们将探讨验证的重要性、具体步骤以及如何通过有效的报告与团队沟通。
验证数据完整性 🔍
上一节我们介绍了数据清洗的工具和策略,本节中我们来看看如何确保清洗后的数据准确可靠。
验证是一个确认数据清洗工作执行良好、且最终数据准确可靠的过程。它涉及重新检查清洗后的数据集,必要时进行一些手动清理,并花时间思考项目的原始目的。这样,你可以确信所收集的数据是可信的,并且适合你的分析目的。
确保数据得到适当验证至关重要,因为它允许你双重检查数据清洗工作是否彻底和准确。例如,你可能引用了错误的电话号码,或不小心输入了拼写错误。验证让你在开始分析之前发现这些错误。没有验证,从分析中获得的任何见解都无法用于决策,你甚至可能面临错误呈现群体或损害你试图改进的产品结果的风险。
我记得曾参与一个项目,我以为我的数据已经非常干净,因为我使用了所有正确的工具和流程。但当我按照步骤验证数据完整性时,我发现了一个忘记删除的分号。我知道这听起来像是一个非常小的错误,但如果我没有在验证过程中发现并删除这个分号,它会导致我的结果发生重大变化。这当然可能导致不同的业务决策。这就是验证为何如此关键的一个例子。
报告清洗工作 📋
验证过程不仅仅是检查数据,另一个重要部分是报告你的工作成果。
开放沟通是任何数据分析项目的生命线。报告是一种极其有效的方式,可以向你的团队展示你在数据清洗方面是100%透明的。报告也是向利益相关者展示你负责任、与团队建立信任,并确保大家对重要项目细节有共同理解的绝佳机会。
以下是几种有效的报告策略:
- 创建数据清洗报告:系统性地记录清洗过程、遇到的问题及解决方案。
- 记录清洗过程:详细说明每一步清洗操作及其原因。
- 使用变更日志:变更日志是一个文件,其中按时间顺序记录了项目中所做的修改。它通常按版本组织,包括日期以及添加、改进和删除的功能列表。
变更日志对于跟踪数据集在项目过程中的演变非常有用,它们也是向他人沟通和报告数据的另一种好方法。
在此过程中,你还将看到一些例子,了解验证和报告如何帮助你避免重复错误,并为你和你的团队节省时间。

课程总结
本节课中,我们一起学习了数据清洗流程中验证与报告的核心环节。我们明确了验证是确保数据准确可靠的必经步骤,而报告(包括使用变更日志)则是建立团队信任、保证项目透明度的关键。掌握这些技能,能让你更有信心地使用清洗后的数据进行决策分析。
029:谷歌数据分析师第四课《从脏数据到干净数据的处理》 🧹

课程概述
在本节课中,我们将要学习数据清洗流程中的一个关键环节:验证。我们将探讨如何确认你的数据清洗工作符合业务期望,确保最终得到的数据是准确、可靠的,从而为数据驱动的决策提供坚实的基础。
验证的重要性
上一节我们介绍了数据清洗的基本步骤,本节中我们来看看如何验证清洗结果。验证是任何分析项目中至关重要的一环。没有验证,你无法确定你的分析洞察是否值得信赖,能否用于数据驱动的决策。
你可以将验证视为一个“批准印章”。简单来说,验证是一个确认数据清洗工作执行良好、最终数据准确可靠的过程。它还包括手动检查数据,将你的预期与实际数据内容进行比较。
验证的第一步:对比原始数据
验证过程的第一步是回到你原始的、未经清洗的数据集,并将其与你当前清洗后的数据进行对比。
以下是进行对比时需要关注的一些常见问题:
- 空值问题:如果原始数据中存在大量空值,你需要检查清洗后的数据,确保没有空值残留。你可以手动搜索数据,或使用条件格式、筛选器等工具来辅助检查。
- 拼写错误:例如,某个产品名称被反复错误地输入。在这种情况下,你需要在清洗后的数据中运行“查找”功能,确保拼写错误的单词不再出现。
验证的关键:审视项目全局
验证的另一个关键部分是从宏观角度审视你的整个项目。这是一个机会,可以确认你确实在专注于需要解决的业务问题和整体项目目标,并确保你的数据实际上有能力解决该问题并实现这些目标。
花时间重新审视和聚焦于全局非常重要,因为项目有时会在我们不知不觉中演变或改变方向。
例如,一家电子商务公司决定对1000名客户进行调查,以获取用于改进产品的信息。但随着回复开始涌入,分析师注意到大量评论是关于客户对整个电商网站平台的不满。于是分析师开始关注这一点。虽然客户购买体验对任何电商业务都很重要,但这并非项目的原始目标。在这种情况下,分析师需要暂停一下,重新聚焦,回到解决原始问题上。
从宏观角度审视你的项目,需要做以下三件事:
- 考虑你试图用数据解决的业务问题。如果你偏离了问题本身,你就无法知道哪些数据应该包含在你的分析中。在任何项目的所有阶段,采取“问题优先”的分析方法都至关重要。你需要确信你的数据确实能让你解决业务问题。
- 考虑项目的目标。仅仅知道公司想要分析关于产品的客户反馈是不够的。你真正需要知道的是,获取这些反馈的目标是为了改进该产品。此外,你还需要知道你收集和清洗的数据是否真的能帮助公司实现这一目标。
- 考虑你的数据是否有能力解决问题并满足项目目标。这意味着要思考数据的来源,并测试你的数据收集和清洗流程。
有时,数据分析师可能对自己的数据过于熟悉,这反而更容易遗漏某些东西或做出假设。在这个阶段,请同事从一个全新的角度审查你的数据,并获取他人的反馈是非常有价值的。
这也是一个时机,去注意数据中是否有任何让你觉得可疑或可能存在问题的东西。再次退一步,从宏观角度审视,并问自己:这些数字合理吗?
实践案例:电商公司调查
让我们回到电商公司的例子。想象一位分析师正在审查来自客户满意度调查的清洗后数据。调查最初发送给了1000名客户。
但如果分析师发现数据中的回复数量超过1000份呢?这可能意味着客户找到了多次参与调查的方法。也可能意味着数据清洗过程中出现了问题,导致字段被重复复制了。

无论哪种情况,这都是一个信号,表明需要回到数据清洗流程中去纠正这个问题。
总结与展望
验证你的数据,能确保你从分析中获得的洞察是可信的。这是数据清洗中必不可少的一部分,能帮助公司避免重大错误。这也是数据分析师可以大显身手的另一个领域。
本节课中我们一起学习了数据验证的重要性、具体步骤(对比原始数据和审视全局)以及一个实践案例。验证是连接数据清洗与可靠分析的关键桥梁。
接下来,我们将继续学习数据清洗流程的后续步骤。
030:从脏数据到干净数据的处理 🧹

课程概述
在本节课中,我们将学习数据清洗后的关键步骤——数据验证。我们将探讨如何确保数据清洗工作正确无误,以及如何使用工具自动修复常见错误,使数据达到100%可用的状态。
数据验证的目标与重要性
上一节我们介绍了数据清洗的基本步骤,本节中我们来看看如何验证清洗结果。数据验证的目标是确保数据清洗工作正确完成,结果可靠可信。这类似于汽车公司在车辆上路前进行大量测试以确保安全。经过验证的数据,你才能确信它已准备就绪。
数据验证的第一步:对比原始数据
验证的第一步是返回原始的脏数据集,并将其与当前清洗后的数据集进行比较。这是一个发现常见问题的机会。之后,你可以手动清理这些问题,例如删除多余的空格或不需要的引号。
自动修复错误的工具
除了手动清理,还有一些强大的工具可以自动修复常见错误,例如 TRIM 函数和 REMOVE DUPLICATES 工具。
TRIM函数:这是一个用于移除数据中开头、结尾和重复空格的函数。REMOVE DUPLICATES工具:这是一个能自动搜索并消除电子表格中重复条目的工具。
处理重复性错误:数据透视表
有时,你会遇到反复出现的错误,无法通过快速手动编辑或自动工具解决。在这些情况下,创建数据透视表会很有帮助。
数据透视表是一种用于数据处理的数据汇总工具。它可以对数据库中存储的数据进行排序、重组、分组、计数、求和或求平均值。
我们现在使用一家派对用品商店的电子表格来练习。
假设这家公司想了解其四家供应商中哪家成本效益最高。因此,分析师提取了以下业务销售数据:销售的产品、购买数量、供应商、产品成本和最终收入。
数据已经过清洗,但在验证过程中,我们注意到其中一个供应商的名称输入有误。
我们可以直接将错误的单词“PLOS”更正为“PLUS”。但这可能无法彻底解决问题,因为我们不知道这是个一次性错误,还是在整个电子表格中重复出现。
查找与替换工具
有两种方法可以回答上述问题。第一种是使用查找和替换工具。
查找和替换是一种在电子表格中查找指定搜索词并允许你将其替换为其他内容的工具。
以下是操作步骤:
- 选择“编辑”。
- 选择“查找和替换”。
- 在“查找”框中输入“PLOS”(供应商名称中“PLUS”的错误拼写)。
- 在“替换为”框中输入“PLUS”。
- 点击“全部替换”,然后点击“完成”。
这样,拼写错误就被纠正了。当然,这是我们的目标。但现在,让我们撤销这个操作,以便练习另一种确定错误是否在整个数据集中重复出现的方法——使用数据透视表。
使用数据透视表验证数据
我们首先选择要使用的数据(C列),然后按照以下步骤操作:
- 选择“数据”菜单。
- 选择“数据透视表”。
- 选择“新工作表”,然后点击“创建”。
我们知道这家公司有四家供应商。因此,如果我们统计供应商的数量,结果不等于4,就说明存在问题。
以下是创建数据透视表的步骤:
- 将“供应商”字段添加到“行”区域。
- 将“供应商”字段再次添加到“值”区域。
- 在值汇总方式中选择“COUNTA”。
COUNTA 函数用于计算指定范围内的值总数。在这里,我们计算的是供应商名称在C列中出现的次数。
请注意,还有一个名为 COUNT 的函数,它只计算指定范围内的数值。如果在这里使用它,结果将是0,这不是我们想要的。但在其他特定应用中,COUNT 函数能提供我们需要的信息。
随着你继续学习更多公式和函数,你会发现更多有趣的选项。如果你想继续学习,可以在网上搜索“电子表格公式和函数”,那里有很多很棒的信息。
现在,我们的数据透视表已经统计了拼写错误的数量,它清楚地显示该错误只出现了一次。除此之外,我们的四家供应商在数据中都得到了准确的记录。现在我们可以放心地纠正拼写,并且已验证其余供应商数据是干净的。
在SQL查询中处理拼写错误
在查询数据库时,这也是一种有用的做法。如果你使用SQL,可以使用 CASE 语句来处理拼写错误。
CASE 语句会遍历一个或多个条件,并在满足条件时返回一个值。
让我们通过customer_name表来讨论这在现实中如何运作。注意,我们的客户“Tony Magnolia”被记录为“Tony”和“Tnoi”。Tony的名字被拼错了。
假设我们需要一份客户ID和客户名字的列表,以便为每位客户撰写个性化的感谢信。我们不希望Tony的信被错误地寄给“Tnoy”。
这时就可以使用CASE语句。我们以基本的SQL结构开始查询:SELECT、FROM、WHERE。
我们知道数据来自customer_data数据集中的customer_name表,因此可以在FROM后面添加customer_data.customer_name。
接下来,在SELECT子句中告诉SQL要提取哪些数据。我们需要customer_id和first_name。
我们可以在SELECT后直接添加customer_id。但对于客户的名字,我们知道Tony被拼错了。因此,我们将使用CASE来纠正它。
以下是SQL查询示例:
SELECTcustomer_id,CASEWHEN first_name = 'Tnoi' THEN 'Tony'ELSE first_nameEND AS cleaned_name
FROM customer_data.customer_name;
如前所述,一个CASE语句可以涵盖多种情况。如果我们想搜索更多拼写错误的名字,语句会与原始语句类似,但包含一些额外的名称,如下所示:
SELECTcustomer_id,CASEWHEN first_name = 'Tnoi' THEN 'Tony'WHEN first_name = 'Jhon' THEN 'John'WHEN first_name = 'Kte' THEN 'Kate'ELSE first_nameEND AS cleaned_name
FROM customer_data.customer_name;

课程总结
本节课中,我们一起学习了数据验证的核心流程。我们了解了如何通过对比原始数据来发现问题,并掌握了使用TRIM、REMOVE DUPLICATES、查找和替换以及数据透视表等工具来自动或半自动地修复错误。最后,我们还探讨了如何在SQL中使用CASE语句来处理数据库中的拼写错误。掌握这些方法,能确保你交付的数据是干净、可靠且值得信赖的。
031:记录清洗变更 📝

在本节课中,我们将要学习数据清洗过程中一个至关重要的环节:记录变更。了解如何以及为何要详细记录你对数据所做的每一次修改,这对于确保项目的可追溯性、团队协作和数据质量评估都至关重要。
为何记录清洗变更至关重要 🔍
上一节我们介绍了如何将数据清洗干净。本节中,我们来看看清洗后留下的“痕迹”——变更记录。
当你清洗数据时,所有不正确或过时的信息都被移除,只留下最高质量的内容。然而,你对数据所做的所有更改本身也具有重要价值。记录变更,即跟踪数据清洗过程中的所有更改、添加、删除和错误,就像犯罪现场调查中的取证报告。它能让你的工作过程透明化,便于他人审查或未来参考。
详细记录数据集的演变过程能带来三个非常重要的好处:
以下是记录变更的三个核心优势:
- 恢复清洗错误:它让我们能够恢复数据清洗中的错误。与其费力回忆几个月前可能做过什么,不如拥有一份可供参考的“备忘单”,以便日后遇到相同错误时使用。创建一个新的干净数据表,而不是覆盖现有表,是一个好方法。这样,你仍然保留原始数据,以备需要重新清洗。
- 通知其他用户:记录为你提供了一种方式,可以告知其他用户你所做的更改。如果你休假或晋升,接替你的分析师将有一份参考清单可以查阅。
- 评估数据质量:记录帮助你确定用于分析的数据的质量。前两个好处假设错误无法修复。但如果可以修复,记录则为数据工程师提供了更多参考信息。它也是一个重要的警示,提醒我们该数据集充满错误,未来应避免使用。如果修复错误非常耗时,那么寻找可替代的其他数据集可能是更好的选择。
如何使用变更日志 📋
数据分析师通常使用变更日志来管理这些信息。变更日志是一个文件,按时间顺序记录了项目中的所有修改。
你可以在电子表格和SQL中使用和查看变更日志,以达到类似的效果。
在电子表格中记录变更
我们可以使用表格软件的“版本历史”功能,它能实时跟踪从单个单元格到整个工作表的所有更改及其修改者。
以下是查看版本历史的步骤:
- 点击“文件”选项卡。
- 选择“版本历史”。
- 在右侧面板中,选择一个较早的版本。我们可以找到编辑文件的人员以及他们所做的更改(更改内容会显示在其姓名旁边的颜色标记处)。
- 要返回当前版本,请点击左上角的“返回”按钮。
如果你想查看特定单元格的更改,可以右键单击该单元格并选择“显示编辑历史”。
此外,如果你希望其他人能够浏览表格的版本历史,你需要为他们分配相应的权限。
在SQL中记录变更
使用SQL创建和查看变更日志的方式取决于你使用的软件程序。有些公司甚至有自己独立的软件来跟踪变更日志和重要的SQL查询。
这涉及到较高级的操作,但本质上,当你将查询作为新的改进版查询提交到代码仓库时,你只需确切地说明你做了什么以及为什么这样做。这让公司可以在你的操作导致系统崩溃时(这种情况以前在我身上发生过),回退到之前的版本。
另一个选择是在使用SQL清洗数据时,随时添加注释。这将帮助你在事后构建变更日志。
现在,我们来看看BigQuery的“查询历史”功能,它会跟踪你运行过的所有查询。
你可以点击其中任何一个查询,以回退到查询的先前版本,或调出旧版本来查找你所做的更改。
具体操作如下:我位于“查询历史”选项卡中。右下角列出了按日期和时间排序的所有已运行查询。你可以点击每个查询右侧的图标,将其调出到查询编辑器中。
总结与预告 🎯

本节课中,我们一起学习了记录数据清洗变更的重要性与方法。像这样的变更记录是让你保持工作进度的好方法。它也能让你的团队在需要时获得实时更新。
但是,还有另一种保持沟通顺畅的方式,那就是报告。请继续关注,在接下来的课程中,你将学习一些分享文档的简单方法,并可能在此过程中给你的利益相关者留下深刻印象。
我们下个视频再见。
032:谷歌数据分析师第四课《从脏数据到干净数据的处理》 📊

第32节:文档化的重要性 📝
在本节课中,我们将学习数据清洗过程中文档化的重要性。我们将了解如何记录每一步操作,以及如何向团队和利益相关者清晰地展示你的工作。
概述
数据清洗、验证和报告的过程很像一部犯罪剧。现在,我们就像在法庭上作证的鉴证科学家一样,需要向同行展示我们的“证据”。数据分析师在完成数据清洗工作后,需要负责展示他们的发现。
上一节我们介绍了数据清洗和验证的具体步骤,本节中我们来看看如何将这些步骤清晰地记录下来并呈现给他人。
文档化的核心概念
文档化是跟踪数据清洗过程中所涉及的变更、添加、删除和错误的过程。一个很好的例子是变更日志,它按时间顺序记录了每一次修改。
公式/概念:
文档化 = 跟踪(变更 + 添加 + 删除 + 错误)
对于未来的数据分析师来说,文档化将为你节省大量时间。它本质上是一个备忘单,当你处理类似的数据集或需要解决类似错误时可以参考。
如何创建文档
虽然你的团队可以直接查看变更日志,但利益相关者不能,他们必须依赖你的报告来了解你做了什么。
让我们通过一个之前用过的例子,来看看如何记录我们的数据清洗过程。
在那个例子中,我们发现协会的数据库中有两个相同的500美元会员记录实例。我们决定通过手动删除重复信息来修复这个问题。
以下是记录我们所做工作的几种常见方法:
- 创建步骤清单:列出所采取的步骤及其产生的影响。
- 例如,清单上的第一项可能是:你删除了重复的实例。
- 这导致行数从33减少到32。
- 并使会员费总额降低了500美元。

- 在代码中添加注释:如果我们使用SQL,可以在语句中包含注释来描述更改的原因,而不会影响语句的执行。这是一种更高级的方法,我们将在后面讨论。
文档化的益处
无论我们如何捕获和共享变更日志,通过对数据清洗过程保持100%的透明度,我们为成功奠定了基础。
这使每个人都能保持同步,并向项目利益相关者表明,我们对有效的流程负责。
换句话说,这有助于建立我们作为“证人”的可信度,在针对“脏数据”的“庭审”中,我们可以被信任来准确呈现所有证据。
总结
本节课中我们一起学习了数据清洗中文档化的关键作用。我们了解到,详细记录每一步操作不仅能提升个人工作效率,还能确保团队协作的透明度和可信度。通过清晰的文档,脏数据的案件就能“铁证如山”,顺利结案。
033:谷歌数据分析师第四课《从脏数据到干净数据的处理》 🧹

在本节课中,我们将学习数据清洗流程中的反馈与清洗环节。我们将探讨如何利用清洗过程中获得的反馈来改进数据收集流程,并最终推动业务发展。
欢迎回来。现在可以肯定地说,验证、记录和报告是数据清洗过程中非常有价值的步骤。你拥有向利益相关者证明数据准确可靠的证据,并且获取这些证据的努力得到了良好的执行和记录。
下一步是获取关于这些证据的反馈,并有效地利用它。这正是本视频将要涵盖的内容。
从清洗到洞察 🔍
干净的数据对于手头的任务至关重要,但数据清洗过程本身也能揭示对业务有帮助的见解。我们在报告清洗工作时获得的反馈,可以改变数据收集流程,并最终影响业务发展。
例如,处理数据时最大的挑战之一就是处理错误。一些最常见的错误涉及人为失误,如打字错误或拼写错误;流程缺陷,如调查表设计不佳;以及系统问题,如旧系统集成数据不正确。
无论原因是什么,数据清洗都能揭示错误产生过程的性质和严重程度。

利用反馈改进流程 🔄
通过持续的记录和报告,我们可以发现数据收集和录入程序中的错误模式,并利用获得的反馈来确保常见错误不再重复。
以下是可能需要采取的改进措施:
- 重新编程数据收集方式:可能需要修改数据收集的程序逻辑。
- 修改调查表问题:调整调查表中的具体问题设计。
- 重新评估与更新流程:在更极端的情况下,反馈甚至可能促使我们重新审视预期,并可能更新质量控制程序。
例如,有时与数据工程师或数据所有者安排一次会议是很有用的,以确保数据被正确导入,而不需要持续清洗。
反馈的价值与总结 📈
一旦错误被识别并解决,利益相关者就拥有了可以信赖的决策数据。通过减少数据收集中的错误和低效,公司可能会发现其利润大幅增长。
恭喜你,现在你已经掌握了成功验证和报告清洗结果所需的基础知识。请继续关注,以在你新获得的技能上不断构建。
本节课中,我们一起学习了数据清洗反馈环节的重要性。我们了解到,清洗不仅是修正错误,更是发现数据源头问题的过程。通过系统性地记录、报告并获取反馈,我们可以优化数据收集流程,减少未来错误,从而为公司提供更可靠的数据基础,并可能带来显著的效率提升和成本节约。
034:从脏数据到干净数据的处理 📊

第34课:让你的简历脱颖而出 ✨
在本节课中,我们将学习如何优化你的简历,使其在申请数据分析师职位时更具竞争力。我们将探讨如何清晰地展示你的沟通能力、技能和经验,以吸引招聘经理和招聘人员的注意。
很高兴再次见到你。打造一份出色的简历是求职成功的重要途径。
你已经有机会开始构建你的简历,现在我们将迈出下一步,向你展示如何针对数据分析职位优化简历。让我们开始吧。
对于数据分析师而言,简历最重要的作用之一是展示你清晰的沟通能力。招聘分析师的公司希望知道,他们雇用的人不仅能够进行分析,还能以清晰直接的方式向任何受众解释分析结果。作为数据分析师,你的第一受众很可能是招聘经理和招聘人员。因此,在简历中保持直接和连贯性对他们来说也非常重要。
让我们从“个人总结”部分开始。虽然你不会在这一部分详细描述任何工作经历,但这是指出你是否正在转型到新的职业角色的好地方。例如,你可以添加类似这样的内容:“从汽车行业转型,寻求在数据分析领域的全职职位。”
你可以在个人总结以及整个简历中使用一种策略,即PAR陈述法。PAR代表问题、行动、结果。这是帮助你清晰简洁地写作的好方法。
以下是PAR陈述法的应用示例:
- 问题: 网站知名度低。
- 行动: 通过策略性博客写作。
- 结果: 为网站带来了超过2000次新点击。
将PAR陈述法添加到你的工作描述或技能部分,有助于简历的组织性和一致性。这在我换工作时确实对我有帮助。
说到技能部分,请确保包含你通过本课程和自学获得的任何技能和资格。你不需要非常技术化,但谈论你在电子表格、SQL、Tableau和R方面的经验将提升你的简历,并增加你获得工作的机会。
如果你要列出资格或技能,可以设置一个“编程语言”类别,然后列出SQL和R,这两者都是谷歌数据分析证书的一部分。你甚至可以添加你在每种语言中熟悉的主要函数、包或公式。同样,包含你在电子表格中获得的技能,比如数据透视表,也是合理的。
数据透视表、SQL、R以及我们在这里讨论的许多其他术语可能会引起招聘经理和招聘人员的注意。但你肯定希望你的简历能准确反映你的技能和能力。因此,请在完成证书课程后再添加这些技能。

一旦你开始将我们在这里讨论的想法应用到你的简历中,你将很好地使自己与其他候选人区分开来。在你完成最终课程后,你将有机会完成一个案例研究并将其链接到你的简历上。这将是一个绝佳的机会,向招聘人员和招聘经理展示你在获得证书过程中学到的技能。
不知不觉中,你将拥有一份相当出色的简历,每当寻找数据分析师工作时,你都可以快速更新它。这没有任何问题。
接下来,我们将更多地讨论如何在简历中添加经验。现在先到这里,再见。
本节课总结:
在本节课中,我们一起学习了如何优化数据分析师简历的关键要点。我们强调了清晰沟通的重要性,介绍了使用PAR陈述法来结构化地描述成就,并讨论了如何在技能部分有效展示相关技术能力。记住,一份出色的简历是准确、清晰且有针对性的,它能帮助你在求职过程中脱颖而出。
035:数据行业中的包容性 🌍

在本节课中,我们将聆听谷歌人事分析师约瑟夫的分享,了解数据行业中多样性与包容性的重要性,特别是黑人及非裔美国人专业人士的角色。我们将探讨如何通过多元化的视角,让数据分析更具代表性和影响力。

大家好,我是约瑟夫,我是谷歌的一名人事分析师。
作为一名人事分析师,我的工作是与管理层和人力资源业务伙伴合作,利用数据做出明智的人力资源决策。包容性是我们工作的核心要素。
正如你所知,有时你可以用数据讲述一个故事,但其中可能包含你自己的偏见。

因此,在我们这个非常敏感的领域,需要一群拥有不同背景的多元化人才,为数据提供多元的视角。
作为一名黑人专业人士,我可以更好地讲述关于有色人种的故事,这对我而言更具个人意义。作为一名分析师,我的职责是获取数据并从中讲述故事。从个人立场出发,我非常热衷于提升科技行业代表性的工作。

例如,在工作之余,我运营着一个名为“Sanrofer Tech”的非营利组织。我们的核心目标是帮助培养下一代黑人工程师,使他们能够进入这个领域,并代表我们的经验。我们以数据为基础,以技术为主要驱动力向前发展。让更多黑人进入科技领域至关重要。
众所周知,在未来10到20年,人工智能和机器学习将在美国乃至全世界变得像英语一样普及。
因此,我们在这个领域拥有的黑人专业人士越多,我们就能在正在开发的产品中更好地体现代表性,我们的经验也就能更多地影响这些公司构建的每一个产品。拥有更多黑人工程师、更多黑人数据科学家来进行分析,以及更多黑人数据分析师来帮助讲述更包容我们经验的故事,这绝对是至关重要的。
因此,本质上我们必须拥有来自不同背景、不同肤色的人才来创建、分析数据,并与之建立联系,讲述故事,使其对我们的受众而言更具个人意义。
本节课中,我们一起学习了约瑟夫关于数据行业包容性的见解。我们了解到,多元化的团队对于提供无偏见的数据视角、讲述更具代表性和个人意义的故事至关重要。培养和吸纳来自不同背景的专业人士,特别是黑人及非裔美国人,对于构建真正反映社会多样性的产品和技术至关重要。
036:谷歌数据分析师课程第四课《从脏数据到干净数据的处理》 🧹

概述
在本节课中,我们将探讨数据分析师职业的多样性,并学习如何根据自己的兴趣和背景来寻找和定位合适的职位。课程将介绍几种常见的数据分析师职位类型,并帮助你理解如何将所学技能应用到不同的行业中去。
如果你还没有搜索过数据分析师职位,现在可以尝试一下。
你可能会注意到数据分析师职位存在许多不同的变体。有些职位头衔只写着“数据分析师”,而另一些则包含更多细节,例如“市场研究分析师”和“数字数据分析师”。
这种多样性是一件好事。它意味着作为一名数据分析师,你将拥有相当广泛的职业机会。因此,虽然你可能不适合每一个发布的职位,但每一个发布的职位也可能并不适合你。
在继续前进的过程中,牢记你自己的兴趣非常重要。我们已涵盖或将要涵盖的某些主题,你可能会发现自己特别感兴趣。
根据兴趣定制求职方向
以下是你可以采取的策略:
- 关注职责描述:当你在求职时,你可能希望定制你的搜索,以找到专注于或包含你感兴趣领域的工作。例如,如果一个职位描述将数据清洗列为一项工作职责,并且你认为自己会非常享受这个过程,你可以将该职位作为你的首选。
- 结合过往背景:同时,考虑你的其他兴趣。如果你有零售、医疗或金融方面的背景,并且有过良好的经验,你可以申请与你背景相匹配的工作。作为一个额外的好处,你的经验在你的简历上会显得非常出色。
- 探索个人兴趣领域:但在你没有任何专业经验的个人兴趣领域寻找工作也是可以的。如果你一直热爱汽车,可以看看汽车行业有哪些职位。如果你对公用事业公司的运作方式着迷,可以在能源和公用事业行业寻找工作。
找到一份工作很棒。找到一份你热爱的工作则更棒。请始终记住,数据分析正在许多不同的行业中不断发展。因此,职位头衔和招聘需求也可能发生变化。但无论你在搜索时遇到什么,机会总是存在的。
预览数据分析师职位类型
现在,让我们预览一下市面上众多数据分析师职位中的一些类型。你在这里获得的证书将最适用于初级或助理数据分析师职位。但这并不意味着你必须将求职范围仅限于初级或助理分析师的招聘信息。
职位头衔形式多样。新的分析师在广泛的行业中工作。
以下是几种常见类型:
- 医疗保健分析师:他们收集和解释来自电子健康记录和患者调查等来源的数据。他们的工作帮助组织提高护理质量。医疗保健分析师也可能寻找降低护理成本和改善患者体验的方法。
- 市场营销数据分析师:他们完成定量和定性的市场分析。他们识别重要的统计数据,并解释和展示他们的发现,以帮助利益相关者理解其营销策略背后的数据。
- 商业智能分析师:他们帮助公司利用收集到的数据来提高效率并最大化利润。这些分析师通常处理大量数据,以识别趋势并产生商业洞察。
- 金融分析师:他们也处理大量数据(实际上,所有分析师都如此),但金融分析师利用数据来识别并可能推荐商业和投资机会。如果你是这一领域的初级分析师,你可能会从大量的数据收集、财务建模以及电子表格维护工作开始。

这仅仅是数据分析师职位类型的一小部分示例。我们介绍的每种类型也可以扩展到其他行业,例如,商业智能分析师可以在医疗保健、政府、电子商务等领域工作。
总结
想到这些可能性是令人兴奋的。当然,你还有更多的工作要做,但展望未来并无不妥。当你到达你所展望的那个阶段时,你将能够主动出击,为自己找到最适合的工作。目前,我们将继续探索你的简历构建。下次见。
037:谷歌数据分析师第四课《从脏数据到干净数据的处理》课程总结 🎉

在本节课中,我们共同学习了如何将原始、混乱的数据转化为可用于分析的干净数据。现在,让我们对这门课程的核心内容进行回顾与总结。
课程回顾
恭喜你完成了这门课程。你已经涵盖了大量内容,并学到了很多知识。
目前只剩下一件事要做:继续前进。但如果你需要回顾所学内容,这些视频将始终为你开放。
现在,我很高兴向你介绍下一门课程的讲师Ayana。她已准备好在你继续成为数据分析师的旅程中,指导你完成项目的下一部分。
下一阶段展望
你已经学会了如何准备和处理数据。在下一门课程中,Ayana将向你展示如何分析数据。
我们将探索如何理解你已收集和清理的所有数据,你将学习如何提出正确的问题,并使用数据来寻找答案。
我们还将再次展示如何组织和格式化数据,使其完全准备好进行分析。
核心数据处理技术
我们将讨论聚合和连接,这是两个允许你收集所需全部数据并为利益相关者进行总结的关键过程。
以下是这两个核心概念的简要说明:
- 聚合:指将多行数据汇总为单行摘要统计信息的过程,常用函数如
SUM()、AVG()、COUNT()。 - 连接:指基于相关列将两个或多个表中的行组合起来的过程,例如SQL中的
JOIN语句。
工具应用
电子表格和SQL也将再次登场。我们将为你提供更多使用它们进行计算练习的机会,并解释SQL中临时表的工作原理。
到目前为止,你的表现非常出色。祝你在接下来的学习中一切顺利。
总结
本节课中,我们一起学习了数据清洗与处理的全流程,为数据分析奠定了坚实的基础。下一阶段,我们将聚焦于数据分析本身,运用处理好的数据来探索问题并发现洞见。请继续保持学习的热情,我们下一课程见!
