描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121360732丛书名: 高级大数据人才培养丛书
1.1 Python简介 1
1.2 Python的安装与运行 3
1.3 Python版本的选择 8
1.4 程序控制 11
1.4.1 Python赋值语句 11
1.4.2 顺序结构 18
1.4.3 选择结构 19
1.4.4 循环结构 22
1.5 绘图 27
1.5.1 创建turtle对象 27
1.5.2 turtle绘图的基础知识 29
1.5.3 利用turtle库提供的方法绘制图形 31
1.6 函数 37
1.6.1 函数的定义 37
1.6.2 函数的调用 39
1.6.3 lambda函数 42
习题 42
参考文献 43
第2章 数据类型 44
2.1 核心内置数据类型概述 44
2.2 数字类型声明及基本运算 47
2.2.1 整型 47
2.2.2 浮点型 47
2.2.3 复数类型 47
2.2.4 数字运算符 48
2.2.5 数字类型的常用函数及math库 49
2.2.6 数字类型转换函数 51
2.2.7 浮点型精度处理 52
2.3 列表 53
2.3.1 列表基本特征 53
2.3.2 序列通用操作 55
2.3.3 可变序列及列表通用操作(一) 58
2.3.4 可变序列及列表通用操作(二) 59
2.4 元组 62
2.5 range 64
2.6 哈希运算 66
2.7 字典 67
2.7.1 字典概述及声明 67
2.7.2 字典元素的访问 71
2.7.3 字典常用方法 71
2.8 字符串 74
2.8.1 字符串的声明 74
2.8.2 转义字符 76
2.8.3 字符串序列通用操作 77
2.8.4 字符串常用内置方法 78
习题 82
参考文献 83
第3章 文件 84
3.1 读写文件 84
3.1.1 文件对象声明与基本操作 84
3.1.2 编码问题 89
3.1.3 文件写入操作 90
3.1.4 列表推导式 92
3.1.5 关闭文件 94
3.1.6 上下文语法 94
3.1.7 生成器 95
3.2 遍历目录树 97
3.3 处理Word文件 102
3.3.1 Python-docx库 102
3.3.2 利用Python-docx库读Word文件 102
3.3.3 利用docx创建Word文件 104
3.4 处理.pdf文件 105
3.5 处理压缩文件 107
习题 111
参考文献 112
第4章 程序调试 113
4.1 异常 113
4.2 断言 127
4.3 日志 131
4.4 调试器 138
习题 144
参考文献 144
第5章 面向对象程序设计 146
5.1 面向对象程序技术的基本概念 146
5.2 类的定义和对象 148
5.3 构造函数和析构函数 150
5.4 类属性和实例属性 151
5.5 类的方法 152
5.5.1 类方法 152
5.5.2 实例方法 152
5.5.3 静态方法 152
5.5.4 类的特殊方法 154
5.6 类的继承性 160
5.6.1 单一继承 160
5.6.2 多重继承 162
5.7 类的多态性 164
习题 164
参考文献 165
第6章 连接数据源 166
6.1 导入CSV数据 166
6.1.1 CSV数据的格式 166
6.1.2 Python读取CSV文件 167
6.1.3 Python写CSV文件 169
6.2 导入Excel数据 170
6.2.1 Python读取Excel文件 171
6.2.2 Python写Excel文件 171
6.3 导入JSON数据 172
6.3.1 JSON数据的格式 172
6.3.2 Python解码JSON数据 172
6.3.3 Python编码JSON数据 173
6.3.4 Python处理JSON数据文件 174
6.4 访问数据库 175
6.4.1 数据库的查询操作 177
6.4.2 数据库的插入操作 178
6.4.3 数据库的删除操作 178
6.4.4 数据库的修改操作 179
习题 179
参考文献 180
第7章 网络爬虫 181
7.1 网络爬虫工作的基本原理 181
7.1.1 网页的概念 181
7.1.2 网络爬虫的工作流程 182
7.1.3 Python与网络爬虫 183
7.2 网页内容获取——requests库 183
7.2.1 requests对象 184
7.2.2 response对象 184
7.3 网页内容解析——BeautifulSoup 库 185
7.3.1 BeautifulSoup 库概述 185
7.3.2 beautifulsoup4 库常用方法和Tag节点 187
7.4 正则表达式 188
7.4.1 正则表达式概念 188
7.4.2 正则表达式元字符介绍 190
7.4.3 正则表达式的常用函数介绍 194
7.5 实战:热门电影搜索 195
7.6 实战:大数据相关论文文章标题采集 196
7.7 实战:全国空气质量爬取 198
习题 199
参考文献 200
第8章 数据挖掘 201
8.1 Python常用数据分析工具 201
8.1.1 Numpy 201
8.1.2 Scipy 202
8.1.3 pandas 202
8.1.4 Scikit-Learn 203
8.2 数据预处理 204
8.2.1 数据清理 204
8.2.2 数据集成 205
8.2.3 数据变换 206
8.2.4 Python数据预处理 206
8.3 分类与预测 210
8.3.1 特征选择 210
8.3.2 性能评估 210
8.3.3 实现过程 212
8.3.4 分类与预测的常用方法 213
8.4 聚类分析 235
8.4.1 聚类分析定义 235
8.4.2 聚类分析评价标准 235
8.4.3 数据相似度度量 236
8.4.4 聚类分析的常用方法 237
8.5 实战:信用评估 247
8.5.1 数据加载及说明 247
8.5.2 数据预处理 248
8.5.3 划分数据集 249
8.5.4 模型建立及参数调优 250
8.5.5 模型测试及分析 252
8.6 实战:影片推荐系统 255
8.6.1 推荐系统 255
8.6.2 python-recsys简介 256
8.6.3 影片推荐 256
习题 258
参考文献 258
第9章 自然语言处理 260
9.1 Python 常用自然语言处理工具 260
9.1.1 Python自然语言处理工具包NLTK 260
9.1.2 Python中文处理工具jieba 260
9.1.3 Python语法解析器PLY 261
9.2 文本处理 261
9.2.1 文本获取 261
9.2.2 文本表示 262
9.2.3 文本特征词提取 263
9.3 词法分析 268
9.3.1 分词 268
9.3.2 词性标注 270
9.3.3 命名实体识别 271
9.3.4 去停用词 272
9.3.5 中文分词实战 275
9.4 语法分析 277
9.4.1 语法分析简介 277
9.4.2 语法树 277
9.4.3 语法分析算法 278
9.4.4 语法分析示例 280
9.5 实战:搜索引擎 282
习题 290
参考文献 291
第10章 数据可视化 292
10.1 用Pillow操作图像 292
10.1.1 图像的基本知识 292
10.1.2 图像处理中常用的模块和函数 293
10.1.3 案例介绍 296
10.2 用Matplotlib绘图 298
10.2.1 Matplotlib常用函数介绍 299
10.2.2 折线图的函数定义及属性说明 299
10.2.3 案例介绍 300
10.3 调用Echarts 308
习题 310
参考文献 310
第11章 Web和移动应用 311
11.1 Web框架Django 311
11.1.1 Django简介 311
11.1.2 Web框架 311
11.1.3 MVC和MTV模式 312
11.1.4 Django的安装 313
11.2 Python Web开发 314
11.2.1 创建项目 314
11.2.2 Django 模板 316
11.2.3 Django 模型 318
11.2.4 Django Admin管理工具 323
11.2.5 Django Nginx uwsgi 安装配置 330
11.3 Python移动应用开发 333
11.3.1 Python Kivy 333
11.3.2 Python 移动应用开发 334
11.3.3 基于Python开发2048游戏 335
习题 340
参考文献 341
第12章 与云结合 342
12.1 阿里云 342
12.1.1 阿里云架构 342
12.1.2 CLI Python 版 344
12.2 腾讯云 350
12.2.1 腾讯云总体架构 350
12.2.2 腾讯云Python访问 351
12.3 百度云 354
12.3.1 百度云架构 355
12.3.2 BAE Python部署 357
12.4 万物云 359
12.4.1 功能及应用 360
12.4.2 数据服务及访问 360
12.5 环境云 366
12.5.1 功能服务 366
12.5.2 应用开发数据接口 366
习题 369
参考文献 369
短短几年间,大数据就以一日千里的发展速度,快速实现了从概念到落地,直接带动了相关产业井喷式发展。全球多家研究机构统计数据显示,大数据产业将迎来发展黄金期:IDC预计,大数据和分析市场将从2016年的1300亿美元增长到2020年的2030亿美元以上;中国报告大厅发布的大数据行业报告数据也说明,自2017年起,我国大数据产业将迎来发展黄金期,未来2~3年的市场规模增长率将保持在35%左右。
数据采集、数据存储、数据挖掘、数据分析等大数据技术在越来越多的行业中得到了应用,随之而来的就是大数据人才问题的凸显。麦肯锡预测,每年数据科学专业的应届毕业生将增加7%,然而仅高质量项目对专业数据科学家的需求每年就会增加12%,完全供不应求。根据《人民日报》的报道,未来3~5年,中国需要180万数据人才,但目前只有约30万人,人才缺口近150万人。
以贵州大学为例,其首届大数据专业研究生就业率达到100%,可以说被“一抢而空”。急切的人才需求直接催热了大数据专业,教育部正式设立“数据科学与大数据技术”本科专业。目前已经有三批共计283所大学获批,包括北京大学、中南大学、对外经济贸易大学、中国人民大学、北京邮电大学、复旦大学等。
不过,就目前而言,在大数据人才培养和大数据课程建设方面,大部分高校仍然处于起步阶段,需要探索的问题还很多。首先,大数据是个新生事物,懂大数据的老师少之又少,院校缺“人”;其次,尚未形成完善的大数据人才培养和课程体系,院校缺“机制”;再次,大数据实验需要为每位学生提供集群计算机,院校缺“机器”;最后,院校没有海量数据,开展大数据教学科研工作缺少“原材料”。
其实,早在网格计算和云计算兴起时,我国科技工作者就曾遇到过类似的挑战,我有幸参与了这些问题的解决过程。为了解决网格计算问题,我在清华大学读博期间,于2001年创办了中国网格信息中转站网站,每天花几个小时收集有价值的资料并分享给学术界,此后我也多次筹办和主持全国性的网格计算学术会议,进行信息传递与知识分享。2002年,我与其他专家合作完成的《网格计算》教材也正式面世。
2008年,当云计算开始萌芽之时,我创办了中国云计算网站(chinacloud.cn)(在各大搜索引擎“云计算”关键词中排名第一),2010年编写了《云计算(第1版)》、2011年编写了《云计算(第2版)》、2015年编写了《云计算(第3版)》,每一版都花费了大量成本制作并免费分享对应的几十个教学PPT。目前,这些PPT的下载总量达到了几百万次。同时,《云计算》一书也成为国内高校的首选教材。在CNKI公布的高被引图书名单中,《云计算(第1版)》在自动化和计算机领域排名全国第一(统计2010年后出版的所有图书)。除了资料分享,2010年我也在南京组织了全国高校云计算师资培训班,培养了国内第一批云计算老师,并通过与华为、中兴、360等知名企业合作,输出云计算技术,培养云计算研发人才。这些工作获得了大家的认可与好评,此后我接连担任了工信部云计算研究中心专家、中国云计算专家委员会云存储组组长等职务。
近几年,面对日益突出的大数据发展难题,我也正在尝试使用此前类似的办法去应对这些挑战。为了解决大数据技术资料缺乏和交流不够通透的问题,我于2013年创办了中国大数据网站(thebigdata.cn),投入大量的人力进行日常维护,该网站目前已经在各大搜索引擎的“大数据”关键词排名中位居第一;为了解决大数据师资匮乏的问题,我面向全国院校陆续举办多期大数据师资培训班。从2016年年底至今,我在南京多次举办全国高校/高职/中职大数据免费培训班,基于《大数据》《大数据实验手册》及云创大数据提供的大数据实验平台,帮助到场老师们跑通了Hadoop、Spark等多个大数据实验,使他们跨过了“从理论到实践,从知道到用过”的门槛。2017年5月,我还举办了全国千所高校大数据师资免费讲习班,盛况空前。
其中,为了解决大数据实验难的问题而开发的大数据实验平台,正在为越来越多高校的教学科研带去方便:2016年,我带领云创大数据(www.cstor.cn,股票代码:835305)的科研人员,应用Docker容器技术,成功开发了BDRack大数据实验一体机,打破了虚拟化技术的性能瓶颈,可以为每位参加实验的人员虚拟出Hadoop集群、Spark集群、Storm集群等,自带实验所需数据,并准备了详细的实验手册(包含42个大数据实验)、PPT和实验过程视频,可以开展大数据管理、大数据挖掘等各类实验,并可以进行精确营销、信用分析等多种实战演练。目前,大数据实验平台已经在郑州大学、西京学院、郑州升达经贸管理学院、镇江高等职业技术学校等多所院校成功应用,并广受校方好评。该平台也可在线使用(https://bd.cstor.cn),帮助师生通过自学,用一个月左右的时间成为大数据实验动手的高手。
同时,为了解决缺乏权威大数据教材的问题,我所负责的南京大数据研究院,联合金陵科技学院、河南大学、云创大数据、中国地震局等多家单位,历时两年,编著出版了适合本科教学的《大数据》《大数据库》《大数据实验手册》《数据挖掘》《大数据可视化》《深度学习》等教材。另外,《Python程序设计》《虚拟化与容器》等本科教材也将于近期出版。在大数据教学中,本科院校的实践教学应更具系统性,偏向新技术的应用,且对工程实践能力要求更高;而高职高专院校则更偏向技术性和技能训练,理论以够用为主,学生将主要从事数据清洗和运维方面的工作。基于此,我们还联合多家高职院校的专家准备了《云计算基础》《大数据基础》《数据挖掘基础》《R语言》《数据清洗》《大数据系统运维》《大数据实践》系列教材,目前也已经陆续进入定稿出版阶段。
此外,这些图书的配套PPT和其他资料也将继续在中国大数据(thebigdata.cn)和中国云计算(chinacloud.cn)等网站免费提供。同时,大数据实验平台(https://bd.cstor.cn)、免费的物联网大数据托管平台万物云(wanwuyun.com)和环境大数据免费分享平台环境云(envicloud.cn)将持续开放,使资源与数据唾手可得,让大数据学习变得更加轻松。
在此,特别感谢我的硕士生导师谢希仁教授和博士生导师李三立院士。谢希仁教授所著的《计算机网络》已经更新到第7版,与时俱进且日臻完善,时时提醒学生要以这样的标准来写书。李三立院士是留苏博士,为我国计算机事业做出了杰出贡献,曾任国家攀登计划项目首席科学家。他严谨治学,带出了一大批杰出的学生。
本丛书是集体智慧的结晶,在此谨向付出辛勤劳动的各位作者致敬!书中难免会有不当之处,请读者不吝赐教。我的邮箱:[email protected],微信公众号:刘鹏看未来(lpoutlook)。
刘 鹏
于南京大数据研究院
前 言
随着机器学习的兴起和数据科学的应用发展,Python逐步成了最受欢迎的语言。它简单易用、逻辑明确并拥有海量的扩展包,因此其不仅成为机器学习与数据科学的首选语言,同时在网页、数据爬取和科学研究等方面也成为不二选择。
《Python程序设计》是中国信息协会大数据分会副会长刘鹏教授组织编撰的“高级大数据人才培养丛书”之一。一是考虑程序设计要注重实际应用开发,二是由于所在丛书中《数据挖掘》《大数据》《云计算》等对关联规则、神经网络、推荐系统、云计算算法有详细的介绍,故本书没有再介绍有关这几部分的理论及技术。另外,本书的全部实验均可在大数据实验平台(https://bd.cstor.cn/login)上远程开展,也可在高校部署的BDRack大数据实验一体机上本地开展。
基于上述原则,全书分为12章,其主要内容如下:
第1章Python基础。主要介绍Python的特点、Python的安装与运行、程序控制等。
第2章数据类型。学习Python提供的基本数据类型:整型、浮点型、列表、元组、字典、字符串等。
第3章文件。学习如何使用Python程序对文件进行操作,主要包括如何读写文件,如何处理Word文件、.pdf文件及压缩文件等。
第4章程序调试。主要学习程序运行时发生错误或异常的各种处理方法,以及修复程序bug的各种调试手段等。
第5章面向对象程序设计。结合Python学习面向对象程序设计,主要包括面向对象程序技术的基本概念、类的定义和对象、类属性、类的方法、类的继承性与多态性等。
第6章连接数据源。主要学习如何基于Python第三方库pandas处理CSV数据源、Excel数据源、JSON数据源,以及数据库的操作。
第7章网络爬虫。主要学习如何使用Python网络爬虫为特定用户准备数据资源,并以热门电影搜索、大数据相关论文文章标题采集、全国空气质量爬取为案例进行爬虫项目实战。
第8章数据挖掘。学习如何用Python数据分析工具进行数据挖掘,主要包括数据预处理、分类与预测、聚类分析,并以信用评估、影片推荐系统等进行数据挖掘项目实战。
第9章自然语言处理。学习Python在自然语言处理方面的应用,主要包括如何应用NLTK、jieba完成分词、词性标注、命名实体识别及语法分析等,并以搜索引擎为例进行自然语言处理项目实战。
第10章数据可视化。学习如何使用Python图形库进行绘图操作,实现数据的可视化,主要包括Pillow、Matplotlib、Echarts的使用等。
第11章Web和移动应用。结合案例学习如何基于Django进行Python Web开发,以及如何基于Python Kivy开发Python移动应用。
第12章与云结合。主要介绍国内各种云服务平台,以及如何运用Python API、Python SDK实现访问。
本书框架和内容主要由刘鹏教授规划,第1~4章由唐万梅编写,第5~7、10章由景雪琴编写,第8、9、11、12章由张雪萍编写,全书由张雪萍统稿润色。
评论
还没有评论。