第1章 数据整理与数据质量简介
这些年来,似乎所有的事情都能由数据来决定。我们根据大家给产品或餐厅所写的评价决定要不要买这件产品或去这里吃饭。公司根据我们阅读、点击与观看的内容决定给我们播放什么样的广告。招聘者根据数据决定让哪些应聘者过来面试。政府使用数据决定如何分配高速公路信托基金,以及你们的孩子应该去哪所学校就读等事项。生活中到处都是数据,有些比较简单,只是由数字所构成的表格,还有一些则比较复杂,用来给某个人工智能(Artificial Intelligence, AI)系统提供支撑。你今天会遇到的事情在很大程度上要受数据的影响,因此,如果你想知道这些由数据所驱动的系统是怎么运作的,并想对这样的系统做出改变,那么数据整理(data wrangling)就是一项必备的技能,而且这项技能以后一直都相当重要,这也正是数据整理的意义所在。与之类似,如果你想知道怎样让这些有时会出(大)问题的系统,运作得更合理一些,那么你必须学会评判——乃至改进——数据质量(data quality)。
由于数据整理与数据质量这两种说法在不同的人眼里可能有不同的意义,因此我们需要先用一章概述本书所要讲解的这三个主要话题:数据整理、数据质量以及Python编程语言。做这样的概述是想让大家了解笔者将会用怎样的方式讲解这些话题,你可以据此判断这本书适不适合自己阅读。之后,我们必须再花一些时间来看看怎样获取并配置相关的软件工具以及其他一些资源,你需要使用这些工具与资源来学习书中的内容并完成练习。本书用到的所有资源都是免费的,而且这本书并不像其他一些编程书籍与教程那样,想当然地认为读者肯定会在自己的计算机(通常是一台配置比较高的计算机)上面学习。笔者要让大家意识到:凡是想学着用Python来整理数据的人都能够学会,因此,笔者要让那些自己没有计算机的人也能学习本书的内容。为了做到这一点,笔者确保本书各章所提供的解决方案都能在Chromebook之类的计算机上面运行并通过测试,另外还会确保这些方案可以在免费的在线平台(也就是网页版的工具)上面运行。这样,无论你用的是自己的计算机,还是那种跟别人共用的计算机(例如,学校或公共图书馆里的计算机),你都可以在该设备上面运行书中的示例。笔者希望通过这本书告诉大家,与数据整理有关的知识,乃至整理数据所需的这些工具,其实并不高深,只要想学,肯定是有办法的,这样就会有越来越多的人愿意研究这种强大而且令人兴奋的技术。