编辑推荐

  资深大数据工程师多年经验总结,写给新人的大数据入行指南。
  广涉大数据技术的各个方面,解密数据科学家的工作内容,通过实战带领读者走进梦想中的职业。

内容简介

  《Python数据科学实践指南》是一本Python数据科学的入门图书,笔者结合多年工作和指导新人的经验,希望以一条简单的路线来为零基础的读者介绍数据科学。在《Python数据科学实践指南》中主要使用Python编程语言,来处理真实的数据,从而满足我们对于未知的好奇。如果读者喜欢其中的某一个领域,可以以此为契机进行深入的学习。
  《Python数据科学实践指南》分为三大部分,第1~4章是Python基础,在这个部分会介绍阅读《Python数据科学实践指南》必须的Python知识,但并不会包含很复杂的编程知识,比如面向对象编程就不是必要的,因为Python支持过程式编程,可以直接编写函数。第5~7章会讲解Python直接提供的数据处理工具,这些工具包括一些易用的数据结构、标准库和第三方工具。学习使用这些工具可以让我们快速地实现某些简单的算法,而不用花费大量的时间“重新发明轮子”,Python在处理数据时的高效在此处体现得淋漓尽致。第8~12章是一些实际的案例操作分解,涉及Python主要擅长的几个领域:统计、爬虫、科学计算、Hadoop&Spark中的集成、图计算等。最后的三个附录分别介绍了一些关于Python的扩展知识,比如如何编写同时兼容Python2和Python3的代码,如何安装完整的Python开发环境,以及一些常用的Python技巧(处理时间、文件I/O等)等。

作者简介

  纪路,先进设计与智能计算教育部重点实验室硕士,控制专业,研究生期间主攻机器人方向,对小众编程语言和机器学习有浓厚的兴趣。现在在一家大数据初创公司做数据挖掘工作,略通Python、Scala、JavaScript。由于有学术背景,并且熟悉多种编程范式,经常被委以算法研发的重任。主要负责计算广告相关的算法、社交网络数据挖掘,以及高性能分布式计算平台的开发工作。

目录

前言
第0章 发现、出发1
0.1 何谓数据科学1
0.1.1 海量的数据与科学的方法2
0.1.2 数据科学并不是新概念3
0.1.3 数据科学是一个系统工程3
0.2 如何成为数据科学家4
0.3 为什么是Python6
0.4 一个简单的例子8
第1章 Python介绍9
1.1 Python的版本之争10
1.2 Python解释器11
1.2.1 MacOSX系统11
1.2.2 Linux系统11
1.2.3 Windows系统12
1.3 第一段Python程序14
1.4 使用Pythonshell调试程序15
第2章 Python基础知识19
2.1 应当掌握的基础知识19
2.1.1 基础数据类型19
2.1.2 变量和赋值21
2.1.3 操作符及表达式22
2.1.4 文本编辑器23
2.2 字符串27
2.3 获取键盘输入29
2.4 流程控制30
2.4.1 条件判断30
2.4.2 循环31
2.4.3 缩进、空白和注释33
第3章 函数及异常处理35
3.1 函数和函数的参数36
3.1.1 定义函数37
3.1.2 关键字参数和默认参数38
3.1.3 可变数量的参数39
3.1.4 递归40
3.2 闭包41
3.3 异常和断言44
第4章 高级字符串处理47
4.1 字符集和字符编码47
4.1.1 ASCII字符集和编码48
4.1.2 Unicode字符集及UTF-8编码49
4.2 字符串操作和格式化51
4.2.1 字符串的基本操作51
4.2.2 字符串分割52
4.2.3 字符串格式化52
4.3 正则表达式53
4.3.1 正则表达式入门54
4.3.2 在Python中使用正则表达式57
第5章 容器和collections60
5.1 元组60
5.2 列表62
5.2.1 引用传递64
5.2.2 列表解析式65
5.3 字典66
5.4 collections69
5.4.1 namedtuple69
5.4.2 Counter70
5.4.3 defaultdict71
5.4.4 OrderedDict71
第6章 Python标准库简介73
6.1 math模块73
6.1.1 常见常量73
6.1.2 无穷74
6.1.3 整数转换75
6.1.4 绝对值和符号76
6.1.5 常用计算77
6.1.6 指数和对数77
6.2 time79
6.3 random82
6.3.1 随机数生成器82
6.3.2 取样84
6.4 glob和fileinput85
6.5 bz2和gzip87
6.6 pprint88
6.7 traceback90
6.8 JSON91
第7章 用Python读写外部数据93
7.1 CSV文件的读写94
7.1.1 读取CSV文件94
7.1.2 创建CSV文件95
7.1.3 处理方言96
7.1.4 将读取的结果转换成字典97
7.2 Excel文件的读写98
7.2.1 读取Excel文件98
7.2.2 写Excel文件99
7.3 MySQL的读写101
7.3.1 写入MySQL103
7.3.2 读取MySQL105
第8章 统计编程106
8.1 描述性统计106
8.2 数据可视化入门116
8.3 概率122
第9章 爬虫入门124
9.1 网络资源及爬虫的基本原理124
9.2 使用request模块获取HTML内容127
9.3 使用Xpath解析HTML中的内容133
9.4 实战:爬取京东商品品类及品牌列表144
第10章 数据科学的第三方库介绍149
10.1 Numpy入门和实战149
10.2 Pandas的入门和实战167
10.3 Scikit-learn入门和实战180
第11章 利用Python进行图数据分析193
11.1 图基础193
11.2 NetworkX入门194
11.3 使用NetworkX进行图分析199
第12章 大数据工具入门204
12.1 Hadoop204
12.2 Spark211
12.3 大数据与数据科学的区别215
附录A 编写Python2与Python3兼容的代码217
附录B 安装完整的Python开发环境225
附录C 常用的Python技巧235

前言/序言

  为什么要写这《Python数据科学实践指南
  我接触大数据技术的时间算是比较早的,四五年前当大数据这个词火遍互联网的时候,我就已经在实验室里学习编程及算法的知识。那个时候我一心想要做学术,每天阅读大量的英文文献,主要兴趣更多的是在机器人和人工智能上。研究生毕业时我本来想实现早先的愿望,继续攻读博士学位,不过思来想去觉得不应该错过大数据这个机会,所以毅然决定投入大数据行业中。
  在工作之初,市面上已经存在一些介绍大数据相关技术的权威著作,其中很多还是很底层的或特定领域的专著。但即使是我这种自诩为“学院派”的人看这些书,头脑也会经常开小差。而大数据相关的技术又特别庞杂,包括计算框架、网络爬虫、机器学习算法、编程语言、数据库、文本分析、数据流水线的架构,甚至还包括前端可视化等众多方面,只有对它们都有涉猎,才能更好地胜任相关的工作。所以我读过很多的相关图书,这确实为我以后的工作打下了坚实的基础,不过随着工作内容的增加,以及新同事的到来,更多的问题相继涌现。首当其冲的就是,并不是每个人都有足够的基础来阅读这些专业著作,而且每个人的情况各不相同,有的是编程基础差,有的是数学基础差,有的是英语基础差,这也导致我的这套学习方法难以推广开来。所以我想写一本关于大数据技术的手册,其目的并不是为读者讲明白所有技术背后的原理,而是告诉读者某项技术可以用于哪些工作中,哪些工作需要哪些工具。
  读完这本手册,可以帮助读者建立一个相对完整的大数据生态的概念,其中所讲的每一个工具都值得读者进行更深入的研究(你也可以像我一样,对其中的两三项进行非常深入的研究),也许在研究过程中,你会成为该领域的专家。如果现在正在看这《Python数据科学实践指南》的你是一位技术决策者,那么我希望《Python数据科学实践指南》的介绍能帮助你下定决心使用其中的某项技术,比如写作《Python数据科学实践指南》的Python语言就是一门非常好的数据处理语言,它能快速编码,且具有强大的字符串处理能力,拥有大量成熟的大数据类库,这些都使Python成为数据科学领域无可争议的No.1语言;或许你的团队可以仅用Python编写大规模分布式爬虫程序(虽然《Python数据科学实践指南》介绍的是单机的简化版)就能大幅度地提升工作的效率。Scrapy可能是爬虫领域最有名的框架了,你也可以像我一样实现属于你自己的版本。当然这《Python数据科学实践指南》也是一本Python入门书,所以读者无须担心阅读门槛,你可以从零基础开始学习,并体验整个学习过程所带来的愉悦。
  读者对象
  根据工作职责的不同,我为《Python数据科学实践指南》划分出了一些可能的读者,具体如下。
  想要了解大数据生态的学生。
  需要快速入门大数据的技术人员。
  需要了解技术细节以做决策的技术管理者。
  希望入门Python但不知如何下手的编程爱好者。
  如何阅读《Python数据科学实践指南
  《Python数据科学实践指南》分为三部分,其中第1~4章是Python基础,这个部分会介绍阅读《Python数据科学实践指南》所必须掌握的Python知识,但并不会包含很复杂的编程知识,比如面向对象编程就不是必要的,因为Python支持过程式编程,可以直接编写函数,使用这种方式编程更适合教学,因为所有的执行步骤都是线性的,方便逐步讲解。第5~7章讲解的是Python直接提供的数据处理工具,这些工具包括一些易用的数据结构、标准库和第三方工具。学习这些工具可以让我们快速地实现某些简单的算法,而不用花费大量的时间“重复造轮子”,Python处理数据的高效性在此处将体现得淋漓尽致。第8~12章是一些实际的案例,将会涉及Python主要擅长的几个领域:统计、爬虫、科学计算、Hadoop&Spark中的集成、图计算等。最后的三个附录分别介绍了关于Python的一些扩展知识,比如如何编写同时兼容Python2和Python3的代码,如何安装完整Python开发环境,以及一些常用的Python技巧,如处理时间、文件I/O等。
  勘误和支持
  致谢
  首先要感谢“仁慈的独裁者”吉多·范罗苏姆(GuidovanRossum),他在我出生的那一年(1989年)发明了Python编程语言,不仅为我带来了一份全职的工作,还为我带来了无尽的乐趣。而且我与Python似乎真的有着某种缘分,不仅出生年份相同,生肖也相同,不知道吉多是否知道1989年正好也是我国的农历蛇年呢。
  感谢机械工业出版社华章公司的编辑Lisa邀请我写作《Python数据科学实践指南》,刚开始时我乐观地估计《Python数据科学实践指南》很快就能写作完成。不过就像大多数软件项目一样——它延期了。感谢Lisa在百忙中适时地督促我写作,没有她我想这《Python数据科学实践指南》与读者见面的时间还会延后。
  最后我要特别感谢我的爸爸、妈妈和前女友(你知道我要强调“前”这个字),感谢你们促进了我的身心成长,是你们促使我变得像现在这般强大!
  谨以此书,献给我最亲爱的家人,以及众多热爱Python的朋友们。
  纪 路
  中国,北京,2017年1月

其他推荐