前言
说明
前言简要介绍了本书的作者、覆盖范围、学习所需的技术技能以及完成所有活动和练习所需的硬件及软件要求。
关于本书
为使数据有用且有意义,必须对其进行整理和提炼。本书将向你传输这些过程背后的所有核心思想,并让你掌握该领域中最通俗的工具和技术的相关知识。
本书从Python最基础的知识开始,主要聚焦于数据结构,接着快速转至数据整理的基本工具NumPy和pandas库。我们着重讲述为什么应该放弃用其他语言实现的传统方法,而采用Python中预先构建程序的方法实现数据清理。之后,你将了解如何使用相同的Python后端,从各种不同的数据源(如Internet、大型数据库或Excel财务表)中提取和转换数据。然后,你还将学习如何根据下游的分析工具需求,处理缺失或不正确的数据并重新格式化数据。你将通过现实世界的示例和数据集学习这些相关概念。
最后,通过本书附录中的活动练习,你将有足够的信心来处理大量的数据源,从而有效地提取、清理、转换和格式化数据。
关于作者
Tirthajyoti Sarkar博士是半导体技术领域的高级工程师,他将最前沿的数据科学与机器学习技术应用于设计自动化和预测分析,并定期撰写关于Python编程和数据科学主题的文章。他拥有伊利诺伊大学的博士学位和斯坦福大学与麻省理工学院的人工智能和机器学习的证书。
Shubhadeep Roychowdhury是一家总部在巴黎的网络安全初创公司的高级软件工程师,目前致力于应用最先进的计算机视觉、数据工程算法和工具开发尖端产品。他经常撰写Python算法实现和类似主题的文章。他拥有西孟加拉邦科技大学的计算机科学硕士学位和斯坦福大学的机器学习证书。
学习目标
·使用与操作复杂和简单的数据结构;
·在运行时充分利用DataFrame和Numpy数组;
·使用BeautifulSoup4和html5lib执行网络抓取;
·使用正则表达式(RegEX)执行高级字符串搜索和操作;
·通过pandas处理异常值与执行数据推算;
·使用描述性统计和绘图技术;
·利用数据生成技术练习数据整理和建模。
方法
本书采用一种实用的方法,为初学者在尽可能短的时间内提供必要的数据分析工具。书中包含多个活动,这些活动使用真实生活中的业务场景,供你在高度相关的情景下练习和应用新技能。
读者
本书主要面向开发人员、数据分析人员和业务分析人员等读者,他们都渴望成为成熟的数据科学家或分析专家。尽管这本书是为初学者准备的,但要轻松掌握书中所涵盖的概念,必须具备Python的基础知识。这对掌握关系数据库和SQL的基本知识也会有所帮助。
最低硬件要求
为了获得最佳学习体验,我们推荐以下硬件配置:
·处理器:英特尔酷睿i5或同等处理器;
·内存:8 GB RAM;
·存储空间:35 GB可用空间。
软件要求
需要预先安装以下软件:
·操作系统:64位Windows 7 SP1、64位Windows 8.1或64位Windows 10、Ubuntu Linux或macOS最新版本;
·OS X的版本;
·处理器:英特尔酷睿i5或同等处理器;
·内存:4 GB RAM(优先选择8 GB);
·存储空间:35 GB可用空间。
安装和设置
千里之行,始于足下。我们即将在数据整理领域展开的学习也不例外。在能够用数据做一些了不起的事情之前,我们需要准备好最高效的环境。在本节中,我们将看看如何做到这一点。
关于本书环境的唯一先决条件是安装Docker。如果你从来没有听说过Docker,或者对它只有一个非常模糊的概念,那么不要害怕。在本书中你只需要知道,Docker是一个轻量级的容器化引擎,在三个主要平台(Linux、Windows和macOS)上均可运行,其背后的主要思想是在本地操作系统之上提供安全、简单和轻量级的虚拟化。
安装Docker
1.在Mac或Windows机器上安装Docker需要创建一个Docker账户并下载最新版本。安装和设置都很容易。
2.设置好Docker后,打开一个shell(Mac用户打开Terminal),并键入命令docker version,以验证安装成功。如果输出显示Docker的服务器和客户机版本,那么就全都设置好了。
拉取镜像
1.为拉取镜像你需要安装所有必要的包(包括Python 3.6.6),并准备好开始工作。在shell中输入以下命令:
2.如果你想了解此镜像中包含的所有包及其版本的完整列表,可以在本书源代码存储库的setup文件夹中查看requirements.txt文件。一旦查看到镜像,就可以准备下载了。下载它需要的时间取决于你的连接速度。
运行环境
1.使用以下命令运行镜像:
这将为你提供一个随时可用的环境。
2.打开Chrome或Firefox中的浏览器选项卡,转到http://localhost:8888。系统将提示你输入令牌,这个令牌是dw_4_all。
3.在运行镜像之前,创建一个新文件夹,并使用cd命令从shell导航到该文件夹。
一旦你创建一个notebook并将其保存为ipynb文件,你就可用Ctrl+C组合键停止运行镜像。
Jupyter notebook简介
Jupyter项目是一个开源的免费软件,它可以让你运行用Python和其他一些语言编写的代码,并通过一个类似于浏览器界面的特殊notebook进行交互。它诞生于2014年的IPython项目,并自此成为所有数据科学工作者的默认选择。
1.运行Jupyter服务器之后,单击New并选择Python 3。新的浏览器选项卡将打开一个新的空notebook。重命名Jupyter文件,如图1所示。
图1 Jupyter服务器界面
Jupyter notebook(见图2)的主要组成部分是单元。有两种类型的单元:In(Input)和Out(Output)。你可以在In单元中编写代码、普通文本和标记,按Shift+Enter(或Shift+Return)组合键将执行在该单元中编写的代码。结果将显示在Out单元中,之后你将进入一个新的In单元,为下一个代码块做好准备。一旦习惯了这个界面,你会慢慢地发现它所提供的强大功能和灵活性。
2.关于Jupyter单元你应该知道的最后一点是,当你启动一个新单元时,默认情况下假定你将在其中编写代码。但是,如果你想编写文本,则必须更改类型(Markdown)。你可以使用键序列Escape->m->Enter来实现这一点:
图2 Jupyter notebook
3.当你编写完文本后,使用Shift+Enter组合键来执行它。与代码单元不同,编译后的Markdown将显示在与In单元相同的位置。
说明
要获得Jupyter中所有快捷键的“备忘单”,你可以将网站https://gist.github.com/kidpixo/f4318f8c8143adee5b40添加到书签。有了这个基本的介绍和准备好的镜像,我们就可以开始期待激动人心的启迪之旅了!
安装代码包
将类的代码包复制到C:/code文件夹中。
其他资源
本书的代码包存储在GitHub上,网址为https://github.com/TrainingByPackt/Data-Wrangling-with-Python,你也可以到华章公司网站(www.hzbook.com)下载。
我们还有来自丰富书籍和视频目录的其他代码包,可从https://github.com/Packt-Publishing/获取。试试吧!