Python数据分析从入门到精通循序渐进地讲解了使用Python语言实现数据分析的核心知识,并通过具体实例的实现过程演示了数据分析的方法和流程。Python数据分析从入门到精通共12章,内容包括Python语言基础、处理网络数据、网络爬虫实战、处理特殊文本格式、使用数据库保存数据、操作处理CSV文件、操作处理JSON数据、使用库matplotlib实现数据可视化处理、使用库pygal实现数据可视化处理、使用库numPy实现数据可视化处理、使用库pandas实现数据可视化处理和大数据实战案例。Python数据分析从入门到精通简洁而不失技术深度,内容丰富全面。不仅易于阅读,同时涵盖了其他同类图书中很少涉及的参考资料,是学习Python数据分析的实用教程。
Python数据分析从入门到精通适用于已了解Python语言基础语法、希望进一步提高自己Python开发水平的读者,还可作为大中专院校和培训学校相关专业师生的学习参考用书。
前言
从你开始学习编程的那一刻起,就注定了以后要走的路:从编程学习者开始,依次经历实习生、程序员、软件工程师、架构师、CTO等职位。当你蓦然回首,会发现自己的成功并非偶然,而是在程序员的成长之路上不断修改代码、寻找并解决Bug、不停测试程序和修改项目的磨炼的必然结果。换言之,只要你在自己的编程生涯中稳扎稳打,并且善于总结和学习,最终将会得到可喜的收获。
选择一本合适的书
一名程序开发初学者究竟应该如何学习和提高自己的编程技术呢?答案之一是买一本合适的程序开发书籍进行学习。但市面上许多面向初学者的编程书籍大多都是基础知识讲解,且多偏向于理论,读者读了以后面对实战项目时还是无从下手。如何从理论平滑过渡到项目实战,是初学者迫切需要解决的问题,为此,我们特意策划了本书。
本书面向有一定Python基础的读者分享使用Python语言开发数据分析程序的知识,以提高初学者的编程水平。本书主要讲解实现Python数据分析所必须具备的知识和技巧,帮助编程人员迅速掌握数据分析的各项技能,并且提高编程效率。
本书的特色
1.内容全面
本书详细讲解了Python数据分析所需要的编程技术,循序渐进地讲解了这些技术的使用方法和技巧,帮助读者快速步入Python 数据分析的高手之列。
2.实例驱动教学
本书采用理论加实例的编写方式,通过实例对知识点进行横向切入和纵向比较,让读者有更多的实践演练机会,并且可以从不同的方位展现一个知识点的用法,真正实现提高学习者技能的效果。
3.二维码视频讲解
书中的每一个二级目录下都有一个二维码,通过扫描二维码可以观看讲解视频,既包括实例讲解,也包括教程讲解。
4.售后帮助读者快速解决学习问题
无论是书中的疑惑,还是在学习中的问题,群主和管理员都将在第一时间为读者解答问题,这是我们对读者的承诺。
5.贴心提示和注意事项提醒
本书根据需要在各章安排了很多“注意”小板块,读者可以在学习过程中更轻松地理解相关知识点及概念,更快地掌握有关技术的应用技巧。
6.QQ群实现教学互动
编者为了方便给读者答疑,特提供了QQ群为读者进行技术服务,可以随时在线与读者互动。让大家在互学互助中形成一个良好的学习编程的氛围。
Python数据分析从入门到精通的QQ群号是:683761238。
Python数据分析从入门到精通的主要内容
Python数据分析从入门到精通循序渐进、深入浅出地讲解了使用Python语言实现数据分析的核心知识,并通过具体实例的实现过程演示了数据分析的方法和流程。Python数据分析从入门到精通共12章,分别讲解了Python语言基础、处理网络数据、网络爬虫实战、处理特殊文本格式、使用数据库保存数据、操作处理CSV文件、操作处理JSON数据、使用库matplotlib实现数据可视化处理、使用库pygal实现数据可视化处理、使用库numPy实现数据可视化处理、使用库pandas实现数据可视化处理及大数据实战案例。Python数据分析从入门到精通简洁而不失技术深度,内容全面丰富,不仅易于阅读,同时涵盖了其他同类图书中较少涉及的参考资料,是学习Python数据分析的必备参考用书。
Python数据分析从入门到精通适用于已了解Python语言基础语法希望进一步提高自己Python开发水平的读者,同时还可以作为大中专院校相关专业的和培训学校师生的专业教材。
Python数据分析从入门到精通的读者对象
Python数据分析从入门到精通适用于以下读者学习参考。
软件工程师。
Python初学者和自学者。
专业数据分析人员。
数据库工程师和管理员。
研发工程师。
教育工作者。
致谢
Python数据分析从入门到精通在编写过程中得到了机械工业出版社编辑的大力支持,正是各位编辑求真务实的作风,才使得本书能够顺利出版。另外,也十分感谢我的家人给予的巨大支持。由于水平有限,书中存在纰漏之处在所难免,诚请读者提出宝贵的意见或建议,以便修订并使之更臻完善。编者QQ:150649826。
最后感谢您购买本书,希望Python数据分析从入门到精通能成为您编程路上的领航者,祝您阅读快乐
编者
李梓萌,女,高级工程师,毕业于清华大学,,供职于阿里巴巴淘宝事业部。工作项目涉及金融科技、证券交易所、银行、生物信息学、基因组学、广告技术、基础设施、交通运输、能源、人力资源和娱乐等多个领域的数据分析工作。在预测分析、数据科学、机器学习、大数据、产品工程、高性能计算和云基础设施等项目中工作了8年。
目录
前言
第1章 Python语言基础1
1.1 Python语言介绍1
1.1.1 Python语言的地位1
1.1.2 Python语言的优点2
1.2 安装Python3
1.2.1 在Windows系统中下载并安装
Python3
1.2.2 在MacOS系统中下载并安装
Python6
1.2.3 在Linux系统中下载并安装
Python6
1.3 Python开发工具介绍7
1.3.1 使用Python自带的开发工具
IDLE7
1.3.2 使用流行工具PyCharm7
1.4 认识第一段Python程序11
1.4.1 使用IDLE编码并运行11
1.4.2 使用命令行方式运行Python
程序12
1.4.3 使用交互式方式运行Python
程序12
1.4.4 使用PyCharm实现第一个Python
程序13
第2章 处理网络数据17
2.1 处理HTML和XML数据17
2.1.1 解析XML数据17
2.1.2 使用库beautiful soup解析数据25
2.1.3 使用库bleach解析数据27
2.1.4 使用库cssutils解析数据29
2.1.5 使用库html5lib解析数据31
2.1.6 使用库markupsafe解析数据31
2.1.7 使用库pyquery解析数据32
2.2 处理HTTP 数据34
2.2.1 使用内置的http包处理数据34
2.2.2 使用库requests处理数据36
2.2.3 使用库httplib2处理数据37
2.2.4 使用库urllib3处理数据41
2.3 处理URL 数据44
2.3.1 使用urllib包44
2.3.2 使用库furl处理数据47
2.3.3 使用库purl处理数据48
2.3.4 使用库webargs处理数据50
2.4 爬取新闻保存到XML文件并分析
特征关系50
2.4.1 爬虫抓取数据51
2.4.2 使用Stanford CoreNLP提取XML
数据的特征关系52
第3章 网络爬虫实战54
3.1 网络爬虫基础54
3.2 开发简单的网络爬虫应用程序55
3.2.1 爬虫抓取某高校教师信息55
3.2.2 抓取某吧的信息59
3.2.3 抓取XX百科64
3.2.4 爬虫抓取某网站的信息并保存到
本地68
3.3 使用爬虫框架Scrapy70
3.3.1 Scrapy框架基础71
3.3.2 搭建Scrapy环境72
3.3.3 创建第一个Scrapy项目72
3.3.4 抓取某电影网的热门电影信息76
3.3.5 抓取某网站中的照片并保存到
本地81
3.3.6 抓取某网站中的主播照片并保存到
本地82
第4章 处理特殊文本格式84
4.1 使用tablib模块84
4.1.1 基本用法84
4.1.2 操作数据集中的指定行和列86
4.1.3 删除并导出不同格式的数据87
4.1.4 生成一个Excel文件88
4.1.5 处理多个数据集89
4.1.6 使用标签过滤数据92
4.1.7 分离表格中的数据92
4.2 使用openpyxl处理Office
文件93
4.2.1 openpyxl基础93
4.2.2 使用openpyxl读取Excel文件的
数据96
4.2.3 将4组数据导入Excel文件96
4.2.4 在Excel文件中检索某关键字
数据98
4.2.5 将数据导入Excel文件并生成一个
图表99
4.3 使用pyexcel处理Office
文件100
4.3.1 使用pyexcel读取并写入CSV
文件100
4.3.2 使用pyexcel读取指定Excel文件中
每个单元格数据101
4.3.3 按列读取并显示指定Excel文件中
每个单元格数据102
4.3.4 读取显示Excel文件中的所有
数据102
4.3.5 将3组数据导入新建的Excel
文件103
4.3.6 以多种方式获取Excel数据104
4.3.7 将数据分别导入Excel文件和SQLite
数据库105
4.3.8 在Flask Web项目中使用pyexcel处理
数据106
4.4 使用python-docx处理Office
文件109
4.4.1 使用python-docx处理Office文件的
流程109
4.4.2 创建Word文档110
4.4.3 在Word中插入图片110
4.4.4 创建结构文档112
4.4.5 读取Word文档114
4.5 使用xlrd和xlwt读写Excel115
4.5.1 使用库xlrd115
4.5.2 使用库xlwt117
4.6 使用xlsxwriter操作Excel
文件118
4.6.1 使用库xlsxwriter的基本流程118
4.6.2 创建一个表格118
4.6.3 设置表格样式120
4.6.4 向Excel文件中插入图像122
4.6.5 向Excel文件中插入数据并绘制
柱状图123
4.6.6 向Excel文件中插入数据并绘制
散点图125
4.6.7 向Excel文件中插入数据并绘制
柱状图和饼状图126
第5章 使用数据库保存数据129
5.1 操作SQLite3数据库129
5.1.1 sqlite3模块介绍129
5.1.2 使用sqlite3模块操作SQLite3
数据库130
5.1.3 使用Flask+ SQLite3+ ECharts2实现
降水数据可视化系统132
5.2 操作MySQL数据库138
5.2.1 搭建PyMySQL环境138
5.2.2 实现数据库连接139
5.2.3 创建数据库表140
5.2.4 爬取XX站用户信息并保存到
MySQL数据库141
5.3 使用MariaDB数据库145
5.3.1 搭建MariaDB数据库环境145
5.3.2 在Python程序中使用MariaDB
数据库148
5.4 使用MongoDB数据库150
5.4.1 搭建MongoDB环境150
5.4.2 在Python程序中使用MongoDB
数据库151
5.5 使用ORM操作数据库154
5.5.1 Python和ORM154
5.5.2 使用SQLAlchemy155
5.5.3 使用mongoengine160
第6章 操作处理CSV文件163
6.1 内置CSV模块介绍163
6.1.1 内置成员163
6.1.2 操作CSV文件165
6.1.3 提取CSV数据并保存到MySQL
数据库172
6.1.4 提取CSV数据并保存到SQLite
数据库176
6.2 爬取图书信息并保存为CSV
文件178
6.2.1 实例介绍178
6.2.2 具体实现178
6.3 使用CSV文件保存Scrapy抓取的
数据181
6.3.1 搭建Scrapy环境182
6.3.2 具体实现182
第7章 操作处理JSON数据185
7.1 类型转换185
7.2 JSON编码和解码186
7.2.1 json模块基础186
7.2.2 JSON数据的基本操作187
7.3 分析JSON格式的世界人口
数据195
7.3.1 输出每个国家2010年的人口
数量195
7.3.2 获取两个字母的国别码196
7.4 挖掘并分析日志文件数据197
7.4.1 检查JSON日志的Python脚本197
7.4.2 将MySQL操作日志保存到数据库
文件200
7.4.3 将日志中JSON数据保存为CSV
格式204
7.5 统计分析朋友圈的数据207
7.5.1 将朋友圈数据导出到JSON文件207
7.5.2 统计处理JSON文件中的朋友圈
数据208
7.6 爬虫抓取照片资料212
7.6.1 系统设置212
7.6.2 设置爬虫items选项213
7.6.3 实现爬虫抓取213
7.6.4 保存照片信息215
7.6.5 运行调试216
第8章 使用库matplotlib实现数据
可视化处理217
8.1 安装库matplotlib217
8.2 库matplotlib的基本操作219
8.2.1 绘制点219
8.2.2 绘制折线220
8.2.3 设置标签文字和线条粗细221
8.2.4 自定义散点图样式222
8.2.5 绘制柱状图224
8.2.6 绘制多幅子图230
8.2.7 绘制曲线231
8.3 绘制随机漫步图233
8.3.1 在Python程序中生成随机漫步
数据233
8.3.2 在Python程序中绘制随机
漫步图235
8.4 大数据分析某年最高温度和最低
温度236
8.5 在Tkinter中使用matplotlib绘制
图表238
8.6 爬取热门电影信息并制作数据
分析饼状图239
8.6.1 创建MySQL数据库239
8.6.2 抓取并分析电影数据242
第9章 使用库pygal实现数据可视化
处理246
9.1 安装库pygal246
9.2 pygal的基本操作247
9.2.1 使用pygal绘制条形图247
9.2.2 使用pygal绘制直方图248
9.2.3 使用pygal绘制XY线图248
9.2.4 使用pygal绘制饼状图249
9.2.5 使用pygal绘制雷达图250
9.2.6 使用pygal模拟掷骰子251
9.3 分析与图书销售相关的数据254
9.3.1 分析某出版社开发类图书的销售
数据254
9.3.2 绘制图书销售数据的叠加柱状图和
叠加折线图256
9.3.3 绘制图书销售数据仪表图256
9.4 使用pygal分析网络数据258
9.4.1 统计前30名GitHub最受欢迎的
Python库258
9.4.2 使用pygal实现数据可视化261
9.5 绘制比特币收盘价数据折线图263
9.5.1 准备数据文件263
9.5.2 绘制图形263
第10章 使用库numPy实现数据可视化
处理266
10.1 库numPy基础266
10.1.1 多维数组操作266
10.1.2 构造数组和索引数组267
10.1.3 数组操作函数268
10.2 库numPy通用函数271
10.2.1 字符串函数271
10.2.2 算数运算函数273
10.2.3 统计函数275
10.2.4 排序、搜索和计数函数276
10.2.5 字节交换277
10.3 联合使用numPy和
matplotlib278
10.3.1 在numPy中使用matplotlib
绘图278
10.3.2 在numPy中使用matplotlib绘制
正弦波图279
10.3.3 在numPy中使用matplotlib绘制
直方图280
10.4 大数据分析最受欢迎的儿童
名字280
10.4.1 需要用到的库280
10.4.2 下载数据文件281
10.4.3 分析儿童的名字283
第11章 使用库pandas实现数据可视化
处理292
11.1 安装库pandas292
11.2 从CSV文件读取数据293
11.2.1 读取显示CSV文件中的前3条
数据293
11.2.2 读取显示CSV文件中指定列的
数据297
11.2.3 以统计图方式显示CSV文件中的
数据298
11.2.4 选择指定数据299
11.3 日期相关操作306
11.3.1 统计每个月的骑行数据306
11.3.2 显示某街道前5天的骑行数据
信息307
11.3.3 统计周一到周日每天的数据308
11.3.4 使用matplotlib图表统计数据309
11.4 分析服务器日志数据312
11.4.1 分析统计每个enrollment_id事件的
总数312
11.4.2 统计每种时间的个数和占用
比率313
11.5 使用pandas提取数据并构建
Neo4j知识图谱314
11.5.1 使用pandas提取Excel数据314
11.5.2 将数据保存到Neo4j数据库并构建
知识图谱318
第12章 大数据实战:电影票房
系统322
12.1 背景介绍322
12.2 需求分析322
12.3 模块架构323
12.4 爬取数据323
12.4.1 分析网页324
12.4.2 破解反爬325
12.4.3 构造请求头328
12.4.4 实现具体爬虫功能329
12.4.5 将爬取的信息保存到数据库331
12.5 数据分析334
12.5.1 电影票房TOP10334
12.5.2 电影评分TOP10335
12.5.3 电影人气TOP10337
12.5.4 每月电影上映数量338
12.5.5 每月电影票房339
12.5.6 名利双收TOP10341
12.5.7 叫座不叫好TOP10342
12.5.8 电影类型分布344