[套装书]零基础学Python爬虫、数据分析与可视化从入门到精通+Python数据分析与数据化运营 第2版(2册)

作者
宋天龙
丛书名
出版社
机械工业出版社
ISBN
9782012111445
简要
简介
内容简介书籍计算机书籍 ---------------------------零基础学Python爬虫、数据分析与可视化从入门到精通--------------------------- 在这个数据为王的时代,无论是从事何种行业,每天都会与海量的且类型多样的数据打交道,如何从这些数据中获取需要的信息,并进行相应的分析和可视化展示,是很多程序员和职场人士非常关心的一个问题。本书以功能强大且容易上手操作Python语言为基础,全面讲解了数据的获取、处理、分析及可视化的呈现。 全书共17章,内容涉及Python基础知识、Python数据处理和分析的实用模块、数据分析、数据爬虫技术、数据可视化等方面。还对数据分析中的几大经典算法,数据决策树、关联规则、聚类与分群也进行了详细的介绍。为了便于读者对Python知识的掌握,本书还提供了大量的编程代码以及实战案例。 本书适合各行各业的数据分析从业人员学习,也适合想要提高工作效率的职场人士,对于Python编程感兴趣的读者,本书也是一本不错的参考读物。 ---------------------------Python爬虫、数据分析与可视化:工具详解与案例实战--------------------------- 全书共13章。第1~4章为基础篇,主要讲述Python基础知识、Python数据结构、面向对象程序设计思想,Python异常处理和读写文件的技巧;第5~7章为数据分析的工具篇,主要讲述Numpy库、Pandas库和Matplotlib库的基本功能和应用;第8章和第9章为“数据分析高级技能篇”,主要讲述通过爬取技术博客案例、基于Scrapy爬虫框架的实用技巧、数据分析的常用方法,如Python连接操作数据库的相关技能,基于时间序列、概率分析、推断统计和回归分析方法的数学分析方法;第10~13章为“综合案例篇”,主要讲述二手房数据分析案例、股票数据分析案例以及基于Sklearn库的机器学习相关实践。
目录



---------------------------零基础学Python爬虫、数据分析与可视化从入门到精通---------------------------



第1章 Python编程环境搭建
1.1 为什么用Python进行大数据分析和可视化
1.2 安装和配置anaconda
1.3 安装和配置Jupyter Notebook
1.4 模块的安装与导入
1.4.1 常规导入法
1.4.2 from语句导入法
第2章 Python的基础语法
2.1 变量与编码基本规范
2.1.1 变量的命名与赋值
2.1.2 缩进
2.1.3 注释
2.2 数据类型
2.2.1 数字
2.2.2 字符串
2.2.3 列表
2.2.4 字典
2.3 运算符
2.3.1 算术运算符
2.3.2 比较运算符
2.3.3 赋值运算符
2.3.4 逻辑运算符
2.4 Python语句
2.4.1 if条件语句
2.4.2 for循环语句
2.4.3 while循环语句
2.4.4 嵌套语句
2.4.5 break、countinue、pass、else语句
2.5 Python函数
2.5.1 内置函数
2.5.2 自定义函数
第3章 数组计算的数学模块——Nmupy
3.1 Ndarray对象
3.1.1 创建ndarray数组
3.1.2 ndarray数组的基本属性
3.2 数组的索引与切片
3.2.1 一维数组的索引和切片
3.2.2 多维数组的索引和切片
3.3 数组重塑
3.3.1 一维数组的重塑
3.3.2 多维数组的重塑
3.3.3 数组的转置
3.4 数组的处理
3.4.1 数组类型的转换
3.4.2 处理缺失值、重复值
3.4.3 数组的拆分与合并
3.5 数组的运算
第4章 数据导入和整理模块——pandas
4.1 pandas数据结构
4.1.1 series数据结构
4.1.2 dataframe数据结构
4.2 数据的读取、查看与导出
4.2.1 导入外部数据(导入xlsx、csv等)
4.2.2 查看部分数据
4.2.3 数据文件导出格式和路径的设置(导出为xlsx,csv等)
4.3 数据类型的转换
4.4 数据的替换和查找
4.4.1 一对一替换
4.4.2 多对一替换
4.4.3 多对多替换
4.4.4 数值查找
4.5 数据的处理
4.5.1 处理空值、缺失值、重复值和异常值
4.5.3 数据的筛选
4.5.4 数据的排序
4.5.5 数据的删除
4.5.6 数据的分组与分列
4.5.7 数据的合并
4.5.8 数据透视表
4.6 数据表的处理
4.6.1 查看数据表的大小
4.6.2 行列互换
4.6.2 长宽表的转换
4.6.2 数据表的拼接
4.7 索引设置
4.7.1 添加索引
4.7.2 重新设置索引
4.7.3 重命名索引
4.7.4 重置索引
4.8 数据的运算
4.8.1 数据的汇总
4.8.3 数值分布情况(均值、最值)
第5章 使用Python进行基本的数据分析
5.1 相关性分析
5.2 方差分析
5.3 描述统计
5.4 线性回归分析
5.4.1 一元线性回归分析
5.4.2 多元线性回归
5.5 逻辑回归
5.6 预测分析
5.5.1 指数平滑
5.5.2 移动平均
5.6 假设检验
第6章 爬虫基础
6.1 网页结构初步认识
6.2 requests库使用:
6.3 案例
6.4 正则表达式详解
6.5 BeautifulSoup解析
6.6 数据乱码处理方法
6.7 综合案例
第7章 复杂爬虫与反爬虫
7.1 Selenium基础
7.2 Selenium进阶
7.3 综合案例
7.4 IP反爬
7.5 Cookie池模拟登陆反爬
第8章 爬虫数据结构化与数据存储
8.1 表格类数据的快速获取
8.2 数据结构化
8.3 数据库存与读取
8.4 综合案例
第9章 中文数据处理
9.1 jieba模块概述
9.2 读取文本内容并进行分词
9.3 提取特定长度的分词
9.4 统计高频词汇的词频
9.5 实战案例
第10章 线性与逻辑回归
10.1 线性回归概念
10.2一元线性回归
10.1.2 一元线性回归编程实践
10.2.1 一元线性回归模型与
10.3多元线性回归
10.3.1 多元线性回归模型与
10.3.2 多元线性回归编程实践
10.4 逻辑回归
10.4.1 逻辑回归概念与模型
10.4.2 逻辑回归编程实践
第11章 决策树模型与分析
11.1 决策树模型概述
11.2 ID3算法
11.2.1 特征选择——信息增益
11.2.2 ID3决策树的构造
11.2.3 ID3决策树的剪枝
11.3 其他树模型
11.3.1 C4.5算法
11.3.2 CART算法
第12章 数据聚类与分群分析
12.1 聚类分析概述
12.2 Kmeans算法
12.2.1 Kmeans算法的原理
12.2.2 Kmeans算法的代码实现
12.3 DBSCAN算法
12.3.1 DBSCAN算法的原理
12.3.2 DBSCAN算法的代码实现
第13章 关联规则分析
13.1 关联分析概述
13.2 Apriori算法
13.2.1 Apriori算法的数学模型
13.2.2 Apriori算法的代码实现
13.3 FP-Growth算法
13.3.1 FP-Growth算法的数学模型
13.3.2 FP-Growth算法代码实现
第14章 数据可视化模块——Matplotlib
14.1 绘制简单的图表
14.1.1柱形图和条形图
14.1.2折线图和面积图
14.1.3散点图和气泡图
14.1.4 饼图和圆环图
14.1.5 组合图
14.2 添加和设置图表元素
14.2.1添加图表标题和坐标轴标题
14.2.2设置图例和数据系列
14.2.3调整刻度范围和数据标签
14.2.4设置坐标轴的刻度样式
14.3 绘制特殊图表
14.3.1雷达图
14.3.2箱型图
14.3.3热力图
14.3.4旭日图
14.4 图表的绘制技巧
14.4.1 同画布上绘制多个图表
14.4.2 给不同段的线设置不同的颜色
14.4.3 为图表添加描述或注释
14.4.4添加拟合曲线
第15章 数据可视化模块——Pyecharts
15.1三维柱形图
15.2玫瑰饼图
15.3漏斗图
15.4 云图
15.5雷达图
15.6仪表盘
15.7水球图
15.8 3D图表
第16章 综合案例:当当图书销售信息获取与分析
16.1 项目分析
16.2 数据爬取
16.3 数据清洗
16.3 数据分析
16.4 数据可视化
第17章 综合案例:股票信息获取与分析
17.1 项目分析
17.2 数据爬取
17.3 数据清洗
17.3 数据分析
17.4 数据可视化



---------------------------Python爬虫、数据分析与可视化:工具详解与案例实战---------------------------


前言
第1章 Python编程基础 1
1.1 搭建Python开发环境 1
1.1.1 安装Python解释器 1
1.1.2 安装Python第三方开发包 2
1.1.3 在PyCharm里新建项目和文件 3
1.1.4 在PyCharm里更换Python解释器 5
1.2 实践Python基本语法 5
1.2.1 针对基本数据类型的操作 6
1.2.2 针对字符串的操作 7
1.2.3 多行注释与引入中文 8
1.2.4 条件分支语句 9
1.2.5 循环操作语句 9
1.2.6 break和continue的用法 10
1.2.7 格式化输出语句 11
1.3 定义和调用函数 11
1.4 return的重要性——函数的递归调用 12
1.5 熟悉函数的特殊写法 13
1.5.1 函数作为参数 14
1.5.2 函数作为返回结果 14
1.5.3 匿名函数 15
1.6 本章小结 15
第2章 Python的数据结构 16
2.1 列表 16
2.1.1 定义列表 16
2.1.2 在列表中增、删、改元素 17
2.1.3 列表的切片操作 18
2.1.4 遍历列表 19
2.1.5 列表的常见用法 19
2.2 元组 20
2.2.1 创建和使用元组 20
2.2.2 元组的常见用法 21
2.3 集合 22
2.3.1 创建和使用集合 22
2.3.2 针对集合的常用数据操作 23
2.4 字典 23
2.4.1 创建和使用字典 24
2.4.2 增加、删除和修改字典中的元素 24
2.4.3 遍历字典 25
2.5 针对数据结构的通用性操作 25
2.5.1 通过map方法实现序列的映射 25
2.5.2 filter方法与数据筛选 26
2.5.3 通过reduce方法实现累计效果 27
2.5.4 通过sorted方法排序对象 27
2.6 本章小结 28
第3章 Python面向对象编程 29
3.1 什么是面向对象思想 29
3.2 封装特性 30
3.2.1 创建类并在类里封装属性和方法 30
3.2.2 类方法的第一个参数必须指向实例 31
3.2.3 私有属性的典型错误用法 31
3.2.4 了解其他常用魔术方法 33
3.2.5 从私有属性和私有方法体会封装特性 34
3.3 继承特性 35
3.3.1 继承的语法和使用场景 35
3.3.2 子类无法使用父类的私有属性和方法 36
3.3.3 受保护的属性和方法 37
3.3.4 多重继承与组合模式 38
3.4 多态特性 40
3.4.1 以迭代器为例来理解多态 40
3.4.2 可变参数与方法重载 41
3.4.3 整合使用多态和继承 42
3.5 模块、包以及第三方库 43
3.5.1 通过import重用现有模块中的功能 43
3.5.2 自定义包和使用包 43
3.5.3 引入并使用第三方库 44
3.6 本章小结 45
第4章 异常处理机制与文件读写 46
4.1 通过try…except…finally处理异常 46
4.1.1 处理异常的try…except从句 46
4.1.2 使用异常处理类 47
4.1.3 同时处理多个异常 48
4.1.4 在处理异常时引入else代码块 49
4.1.5 引入finally从句 50
4.2 raise与except的整合使用 51
4.2.1 通过raise抛出异常 51
4.2.2 自定义异常且与except整合使用 51
4.3 异常处理的实践经验 52
4.3.1 尽可能缩小try的代码块 53
4.3.2 用专业的异常处理类针对性地处理异常 53
4.3.3 拿到异常别忽视 54
4.3.4 合理确定异常的影响范围 54
4.4 在读写文件案例中使用异常机制 55
4.4.1 通过os.path获取和文件属性 55
4.4.2 以只读模式打开文件 56
4.4.3 逐行读取文件 58
4.4.4 通过write写文件 59
4.4.5 以添加的方式写文件 59
4.4.6 读写csv文件 60
4.5 本章小结 61
第5章 NumPy数组处理 62
5.1 NumPy库的基础数据结构:ndarray对象 62
5.1.1 通过array方法创建ndarray 62
5.1.2 ndarray的dtype属性 63
5.1.3 创建全0或全1的ndarray 64
5.2 NumPy库的常用操作 65
5.2.1 通过arange方法创建序列数组 65
5.2.2 针对ndarray的数学运算 66
5.2.3 常用的科学计算函数 67
5.2.4 常用的聚合统计函数 68
5.2.5 遍历ndarray数组 69
5.3 针对ndarray的索引和切片操作 69
5.3.1 索引操作 69
5.3.2 布尔索引与条件过滤 70
5.3.3 切片操作与共享内存 70
5.3.4 通过copy函数创建副本 72
5.4 本章小结 72
第6章 Pandas数据清洗 73
6.1 以一维方式存储数据的Series对象 73
6.1.1 Series的常规操作 74
6.1.2 创建并使用Series索引 75
6.1.3 获取Series里的切片数据 76
6.1.4 通过布尔Series获取满足条件的元素 78
6.1.5 遍历Series数据 78
6.2 以表格格式存储数据的DataFrame对象 79
6.2.1 DataFrame对象的常规用法 79
6.2.2 通过loc、iloc和ix提取数据 81
6.2.3 遍历DataFrame里的数据 82
6.3 面向DataFrame的常用数据分析方法 82
6.3.1 对DataFrame数据进行排序 83
6.3.2 以列为单位进行运算 83
6.3.3 增加和删除列 84
6.3.4 过滤和重设数据 85
6.3.5 在DataFrame中进行数据统计分析 85
6.3.6 衡量变量间关联程度的corr方法 86
6.4 Pandas与各类文件的交互 87
6.4.1 DataFrame数据与csv文件的相互转换 87
6.4.2 NaN与缺失值处理 89
6.4.3 DataFrame数据与Excel文件的相互转换 90
6.4.4 DataFrame数据与json文件的相互转换 91
6.5 本章小结 92
第7章 Matplotlib数据可视化 93
7.1 通过Matplotlib绘制各类图形 93
7.1.1 绘制折线图 93
7.1.2 绘图时的通用属性参数 94
7.1.3 绘制柱状图 95
7.1.4 绘制饼图 97
7.1.5 绘制直方图 98
7.2 设置坐标的技巧 99
7.2.1 设置x和y坐标标签文字并展示中文 99
7.2.2 设置坐标的范围 100
7.2.3 设置坐标的主刻度和次刻度 101
7.2.4 设置并旋转坐标刻度文字 102
7.3 增加可视化美观效果 103
7.3.1 设置图例 104
7.3.2 设置中文标题 105
7.3.3 设置网格效果 106
7.4 设置多图和子图效果 107
7.4.1 通过figure对象同时绘制多张图 107
7.4.2 通过add_subplot方法绘制子图 108
7.4.3 通过subplot方法绘制子图 109
7.4.4 子图共享x坐标轴 110
7.4.5 在大图里绘制子图 112
7.5 绘制高级图表 113
7.5.1 绘制散点图 113
7.5.2 绘制热图 114
7.5.3 绘制等值线图 115
7.6 通过mplot3d绘制三维图形 116
7.6.1 绘制三维曲线图 116
7.6.2 绘制三维散点图 117
7.6.3 绘制三维柱状图 118
7.7 本章小结 119
第8章 通过网络爬虫获取数据 120
8.1 和爬虫有关的HTTP 120
8.1.1 基于HTTP的请求处理流程 120
8.1.2 HTTP请求头包含操作系统和浏览器信息 122
8.1.3 Post和Get请求方法 122
8.1.4 HTTP常见的状态码 122
8.2 通过Urllib库获取网页信息 123
8.2.1 通过request爬取网页 123
8.2.2 设置超时时间 124
8.2.3 用URLError处理网络异常 124
8.2.4 设置header属性来模拟浏览器发送请求 125
8.3 通过BeautifulSoup提取页面信息 125
8.3.1 安装BeautifulSoup库 125
8.3.2 用Tag提取HTML元素和属性 126
8.3.3 用NavigableString提取元素值 127
8.3.4 用Comment提取注释 127
8.3.5 制定规则搜索指定的内容 128
8.4 通过正则表达式截取信息 130
8.4.1 查找指定字符串 130
8.4.2 用通用字符来模糊匹配 130
8.4.3 通过原子表来定义匹配规则 131
8.4.4 用findall按匹配规则截取内容 132
8.5 用Scrapy爬取博客园文章信息 134
8.5.1 通过Scrapy命令创建爬虫项目 134
8.5.2 明确爬取目标,制定爬取规则 134
8.5.3 在Item模块里定义数据模型 136
8.5.4 生成爬虫文件,定义爬取动作 136
8.5.5 在pipelines文件里定义数据存储方式 137
8.5.6 启动爬虫程序,观察运行效果 138
8.6 本章小结 139
第9章 数据分析的常用方法 140
9.1 准备并存储数据 140
9.1.1 用Pandas_datareader库获取数据 140
9.1.2 以csv和Excel格式存储数据 141
9.1.3 准备MySQL环境 142
9.1.4 在MySQL里存储数据 142
9.1.5 从数据表里读取数据 145
9.2 描述性统计 146
9.2.1 平均数、中位数和百分位数 146
9.2.2 用箱状图展示分位数 147
9.2.3 统计极差、方差和标准差 148
9.3 基于时间序列的统计方法 148
9.3.1 用rolling方法计算移动平均值 148
9.3.2 基于时间序列的自相关性分析 149
9.3.3 基于时间序列的偏自相关性分析 151
9.3.4 用热力图分析不同时间序列的相关性 152
9.4 概率分析方法与推断统计 154
9.4.1 分析收盘价,绘制小提琴图 154
9.4.2 用直方图来拟合正态分布效果 155
9.4.3 验证序列是否满足正态分布 156
9.4.4 参数估计方法 157
9.4.5 显著性验证 158
9.5 回归分析方法 159
9.5.1 构建一元线性回归模型 159
9.5.2 以多元线性回归模型预测股价 162
9.6 本章小结 164
第10章 案例:图书信息的爬取、数据清洗与分词处理 165
10.1 用Scrapy框架爬取豆瓣网编程图书 165
10.1.1 准备知识:yield的含义 165
10.1.2 明确待爬取的目标,创建Scrapy项目 166
10.1.3 定义图书的数据模型 167
10.1.4 分析页面结构,实现爬虫功能 167
10.1.5 存为csv文件 171
10.1.6 运行爬虫,观察结果 172
10.2 分析图书数据,绘制可视化图表 172
10.2.1 用Pandas库的方法清洗数据 172
10.2.2 出版社出书情况分析 173
10.2.3 评论数最多和最贵的3本图书 175
10.2.4 用直方图绘制评分频次 177
10.2.5 对书名分词,绘制词云 178
10.3 本章小结 179
第11章 案例:二手房数据的爬取、清洗与可视化 180
11.1 用Scrapy框架爬取二手房数据 180
11.1.1 明确爬取目标,创建Scrapy项目 180
11.1.2 定义二手房数据模型 181
11.1.3 分析页面结构,实现爬虫功能 181
11.1.4 定义pipelines逻辑,把数据存为json文件 185
11.1.5 运行爬虫程序,把数据存为json格式 186
11.2 分析二手房数据 186
11.2.1 清洗数据 186
11.2.2 对数据进行基本的分析 187
11.2.3 观察均价和总价的分布情况 189
11.2.4 用散点图展示关注度与价格、面积的关系 190
11.2.5 绘制关于二手房标题和地段的词云 192
11.3 本章小结 194
第12章 案例:股票数据分析与可视化 195
12.1 股市指标的分析与可视化 195
12.1.1 准备股票交易数据 195
12.1.2 用Matplotlib绘制K线图 196
12.1.3 用rolling和mean绘制均线 198
12.1.4 用柱状图描述成交量 199
12.1.5 加工DataFrame数据,绘制MACD图 201
12.1.6 绘制CCI图,进一步熟悉DataFrame 204
12.2 验证常见的股市交易策略 206
12.2.1 验证基于长短均线的交易策略 207
12.2.2 验证基于MACD指标的交易策略 209
12.2.3 验证基于CCI的交易策略 211
12.3 绘制价格通道 212
12.3.1 计算并绘制唐奇安通道 213
12.3.2 计算并绘制布林带通道 214
12.3.3 计算并绘制鳄鱼组线 216
12.4 用机器学习方法预测股票 219
12.4.1 用Lasso和岭回归拟合预测收盘价 219
12.4.2 用SVM和KNN模型预测涨跌 221
12.5 本章小结 224
第13章 基于机器学习算法的数据分析 225
13.1 数据集与机器学习的基础知识 225
13.1.1 获取sklearn提供的数据集 225
13.1.2 训练集、验证集和测试集 226
13.2 一元和多元线性回归案例 227
13.2.1 波士顿房价数据集的初步分析 227
13.2.2 构建波士顿房价的多元线性关系 230
13.2.3 交叉验证的思想及其实现 231
13.3 岭回归、Lasso回归及案例 233
13.3.1 对比线性回归和岭回归 233
13.3.2 基于岭回归拟合波士顿房价 235
13.3.3 Lasso回归 236
13.4 分类算法案例 237
13.4.1 基于线性和高斯内核的SVM分类器 238
13.4.2 用SVM分类器划分鸢尾花 240
13.4.3 基于KNN算法的分类器 243
13.4.4 KNN分类器对酒的分类 244
13.4.5 基于逻辑回归的分类方法 245
13.4.6 用逻辑回归划分鸢尾花 246
13.5 基于手写体数字识别的分类案例 248
13.5.1 观察Digits数据集 248
13.5.2 以训练集和测试集的方式评估结果 249
13.5.3 对比分类模型的预测和真实结果 250
13.6 本章小结 252

推荐

车牌查询
桂ICP备20004708号-3