《Python数据科学实践指南》
书籍作者:纪路 |
ISBN:9787111566526 |
书籍语言:简体中文 |
连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 |
下载次数:4946 |
创建日期:2021-02-14 |
发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
内容简介
本书是一本Python数据科学的入门图书,笔者结合多年工作和指导新人的经验,希望以一条简单的路线来为零基础的读者介绍数据科学。在本书中主要使用Python编程语言,来处理真实的数据,从而满足我们对于未知的好奇。如果读者喜欢其中的某一个领域,可以以此为契机进行深入的学习。
本书分为三大部分,第1~4章是Python基础,在这个部分会介绍阅读本书必须的Python知识,但并不会包含很复杂的编程知识,比如面向对象编程就不是必要的,因为Python支持过程式编程,可以直接编写函数。第5~7章会讲解Python直接提供的数据处理工具,这些工具包括一些易用的数据结构、标准库和第三方工具。学习使用这些工具可以让我们快速地实现某些简单的算法,而不用花费大量的时间“重新发明轮子”,Python在处理数据时的高效在此处体现得淋漓尽致。第8~12章是一些实际的案例操作分解,涉及Python主要擅长的几个领域:统计、爬虫、科学计算、Hadoop&Spark中的集成、图计算等。最后的三个附录分别介绍了一些关于Python的扩展知识,比如如何编写同时兼容Python2和Python3的代码,如何安装完整的Python开发环境,以及一些常用的Python技巧(处理时间、文件I/O等)等。
作者简介
纪路,先进设计与智能计算教育部重点实验室硕士,控制专业,研究生期间主攻机器人方向,对小众编程语言和机器学习有浓厚的兴趣。现在在一家大数据初创公司做数据挖掘工作,略通Python、Scala、JavaScript。由于有学术背景,并且熟悉多种编程范式,经常被委以算法研发的重任。主要负责计算广告相关的算法、社交网络数据挖掘,以及高性能分布式计算平台的开发工作。
编辑推荐
资深大数据工程师多年经验总结,写给新人的大数据入行指南。
广涉大数据技术的各个方面,解密数据科学家的工作内容,通过实战带领读者走进梦想中的职业。
前言
为什么要写这本书
我接触大数据技术的时间算是比较早的,四五年前当大数据这个词火遍互联网的时候,我就已经在实验室里学习编程及算法的知识。那个时候我一心想要做学术,每天阅读大量的英文文献,主要兴趣更多的是在机器人和人工智能上。研究生毕业时我本来想实现早先的愿望,继续攻读博士学位,不过思来想去觉得不应该错过大数据这个机会,所以毅然决定投入大数据行业中。
在工作之初,市面上已经存在一些介绍大数据相关技术的权威著作,其中很多还是很底层的或特定领域的专著。但即使是我这种自诩为“学院派”的人看这些书,头脑也会经常开小差。而大数据相关的技术又特别庞杂,包括计算框架、网络爬虫、机器学习算法、编程语言、数据库、文本分析、数据流水线的架构,甚至还包括前端可视化等众多方面,只有对它们都有涉猎,才能更好地胜任相关的工作。所以我读过很多的相关图书,这确实为我以后的工作打下了坚实的基础,不过随着工作内容的增加,以及新同事的到来,更多的问题相继涌现。首当其冲的就是,并不是每个人都有足够的基础来阅读这些专业著作,而且每个人的情况各不相同,有的是编程基础差,有的是数学基础差,有的是英语基础差,这也导致我的这套学习方法难以推广开来。所以我想写一本关于大数据技术的手册,其目的并不是为读者讲明白所有技术背后的原理,而是告诉读者某项技术可以用于哪些工作中,哪些工作需要哪些工具。
读完这本手册,可以帮助读者建立一个相对完整的大数据生态的概念,其中所讲的每一个工具都值得读者进行更深入的研究(你也可以像我一样,对其中的两三项进行非常深入的研究),也许在研究过程中,你会成为该领域的专家。如果现在正在看这本书的你是一位技术决策者,那么我希望本书的介绍能帮助你下定决心使用其中的某项技术,比如写作全书的Python语言就是一门非常好的数据处理语言,它能快速编码,且具有强大的字符串处理能力,拥有大量成熟的大数据类库,这些都使Python成为数据科学领域无可争议的No. 1语言;或许你的团队可以仅用Python编写大规模分布式爬虫程序(虽然本书介绍的是单机的简化版)就能大幅度地提升工作的效率。Scrapy可能是爬虫领域最有名的框架了,你也可以像我一样实现属于你自己的版本。当然这本书也是一本Python入门书,所以读者无须担心阅读门槛,你可以从零基础开始学习,并体验整个学习过程所带来的愉悦。
读者对象
根据工作职责的不同,我为本书划分出了一些可能的读者,具体如下。
想要了解大数据生态的学生。
需要快速入门大数据的技术人员。
需要了解技术细节以做决策的技术管理者。
希望入门Python但不知如何下手的编程爱好者。
如何阅读本书
本书分为三部分,其中第1~4章是Python基础,这个部分会介绍阅读本书所必须掌握的Python知识,但并不会包含很复杂的编程知识,比如面向对象编程就不是必要的,因为Python支持过程式编程,可以直接编写函数,使用这种方式编程更适合教学,因为所有的执行步骤都是线性的,方便逐步讲解。第5~7章讲解的是Python直接提供的数据处理工具,这些工具包括一些易用的数据结构、标准库和第三方工具。学习这些工具可以让我们快速地实现某些简单的算法,而不用花费大量的时间“重复造轮子”,Python处理数据的高效性在此处将体现得淋漓尽致。第8~12章是一些实际的案例,将会涉及Python主要擅长的几个领域:统计、爬虫、科学计算、Hadoop&Spark中的集成、图计算等。最后的三个附录分别介绍了关于Python的一些扩展知识,比如如何编写同时兼容Python 2和Python 3的代码,如何安装完整Python开发环境,以及一些常用的Python技巧,如处理时间、文件I/O等。
勘误和支持
致谢
首先要感谢“仁慈的独裁者”吉多·范罗苏姆(Guido van Rossum),他在我出生的那一年(1989年)发明了Python编程语言,不仅为我带来了一份全职的工作,还为我带来了无尽的乐趣。而且我与Python似乎真的有着某种缘分,不仅出生年份相同,生肖也相同,不知道吉多是否知道1989年正好也是我国的农历蛇年呢。
感谢机械工业出版社华章公司的编辑Lisa邀请我写作本书,刚开始时我乐观地估计本书很快就能写作完成。不过就像大多数软件项目一样——它延期了。感谢Lisa在百忙中适时地督促我写作,没有她我想这本书与读者见面的时间还会延后。
最后我要特别感谢我的爸爸、妈妈和前女友(你知道我要强调“前”这个字),感谢你们促进了我的身心成长,是你们促使我变得像现在这般强大!
谨以此书,献给我最亲爱的家人,以及众多热爱Python的朋友们。
纪 路
中国,北京,2017年1月
目录
前言
第0章 发现、出发 1
0.1 何谓数据科学 1
0.1.1 海量的数据与科学的方法 2
0.1.2 数据科学并不是新概念 3
0.1.3 数据科学是一个系统工程 3
0.2 如何成为数据科学家 4
0.3 为什么是Python 6
0.4 一个简单的例子 8
第1章 Python介绍 9
1.1 Python的版本之争 10
1.2 Python解释器 11
1.2.1 Mac OS X系统 11
1.2.2 Linux系统 11
1.2.3 Windows系统 12
1.3 第一段Python程序 14
1.4 使用Python shell调试程序 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章 容器和collections 60
5.1 元组 60
5.2 列表 62
5.2.1 引用传递 64
5.2.2 列表解析式 65
5.3 字典 66
5.4 collections 69
5.4.1 namedtuple 69
5.4.2 Counter 70
5.4.3 defaultdict 71
5.4.4 OrderedDict 71
第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 time 79
6.3 random 82
6.3.1 随机数生成器 82
6.3.2 取样 84
6.4 glob和fileinput 85
6.5 bz2和gzip 87
6.6 pprint 88
6.7 traceback 90
6.8 JSON 91
第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 写入MySQL 103
7.3.2 读取MySQL 105
第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 Hadoop 204
12.2 Spark 211
12.3 大数据与数据科学的区别 215
附录A 编写Python 2与Python 3兼容的代码 217
附录B 安装完整的Python开发环境 225
附录C 常用的Python技巧 235