Python和Dask数据科学
作者:(美),杰西·丹尼尔
出版社:清华大学出版社
出版时间:2020-06-01
ISBN:9787302553786
定价:¥79.80
目 录
第Ⅰ部分 可扩展计算的基础
第1章 可扩展计算的重要性 3
1.1 Dask的优势 4
1.2 有向无环图 9
1.3 横向扩展、并发和恢复 13
1.3.1 纵向扩展和横向扩展 14
1.3.2 并发和资源管理 16
1.3.3 从失败中恢复 17
1.4 本书使用的数据集 18
1.5 本章小结 19
第2章 Dask入门 21
2.1 DataFrame API初探 22
2.1.1 Dask对象的元数据 22
2.1.2 使用compute方法运行计算任务 25
2.1.3 使用persist简化复杂计算 27
2.2 DAG的可视化 28
2.2.1 使用Dask延迟对象查看DAG 28
2.2.2 带有循环和集合的复杂DAG的可视化 29
2.2.3 使用persist简化DAG 32
2.3 任务调度 35
2.3.1 延迟计算 35
2.3.2 数据本地化 36
2.4 本章小结 38
第II部分 使用Dask DataFrame处理结构化数据
第3章 介绍Dask DataFrame 41
3.1 为什么使用DataFrame 42
3.2 Dask和Pandas 43
3.2.1 管理DataFrame分区 45
3.2.2 “混洗”介绍 48
3.3 Dask DataFrame的局限性 49
3.4 本章小结 50
第4章 将数据读入DataFrame 53
4.1 从文本文件读取数据 54
4.1.1 Dask数据类型 59
4.1.2 为Dask DataFrame创建数据模式 61
4.2 从关系数据库中读取数据 65
4.3 从HDFS和S3中读取数据 68
4.4 读取Parquet格式的数据 72
4.5 本章小结 74
第5章 DataFrame的清理和转换 75
5.1 使用索引和轴 77
5.1.1 从DataFrame中选择列 77
5.1.2 从DataFrame中删除列 79
5.1.3 DataFrame中列的重命名 81
5.1.4 从DataFrame中选择行 81
5.2 处理缺失值 83
5.2.1 对DataFrame中的缺失值计数 83
5.2.2 删除含有缺失值
的列 85
5.2.3 填充缺失值 85
5.2.4 删除缺少数据的行 86
5.2.5 使用缺失值输入多个列 87
5.3 数据重编码 89
5.4 元素运算 93
5.5 过滤和重新索引DataFrame 95
5.6 DataFrame的连接 97
5.6.1 连接两个DataFrame 98
5.6.2 合并两个DataFrame 101
5.7 将数据写入文本文件和Parquet文件 103
5.7.1 写入含分隔符的文本文件 103
5.7.2 写入Parquet 文件 104
5.8 本章小结 105
第6章 聚合和分析DataFrame 107
6.1 描述性统计信息 108
6.1.1 什么是描述性统计信息 108
6.1.2 使用Dask计算描述性统计信息 110
6.1.3 使用describe方法进行描述性统计 114
6.2 内置的聚合函数 115
6.2.1 什么是相关性 115
6.2.2 计算Dask DataFrame的相关性 117
6.3 自定义聚合函数 121
6.3.1 使用t检验测试分类变量 121
6.3.2 使用自定义聚合函数来实现Brown-Forsythe检验 123
6.4 滚动(窗口)功能 134
6.4.1 为滚动函数准备数据 135
6.4.2 将rolling方法应用到一个窗口函数 136
6.5 本章小结 137
第7章 使用Seaborn对DataFrame进行可视化 139
7.1 prepare-reduce-collect-plot模式 141
7.2 可视化散点图与规则图的延伸关系 143
7.2.1 使用Dask和Seaborn创建散点图 143
7.2.2 在散点图中添加线性回归线 146
7.2.3 在散点图中添加非线性回归线 147
7.3 使用小提琴图可视化分类关系 149
7.3.1 使用Dask和Seaborn创建小提琴图 150
7.3.2 从Dask DataFrame随机采样数据 152
7.4 使用热图可视化两个分类关系 154
7.5 本章小结 157
第8章 用Datashader对位置数据可视化 159
8.1 什么是Datashader?它是如何工作的? 160
8.1.1 Datashader渲染流程的五个阶段 161
8.1.2 使用Datashader进行可视化 165
8.2 将位置数据绘制为交互式热图 166
8.2.1 准备用于地图平铺的地理数据 166
8.2.2 创建交互式热图 167
8.3 本章小结 169
第III部分 扩展和部署Dask
第9章 使用Bag和Arrays 173
9.1 使用Bag读取和解析非结构化数据 175
9.1.1 从Bag中选择和查看数据 176
9.1.2 常见的解析错误和解决办法 176
9.1.3 使用分隔符 177
9.2 转换、过滤和合并元素 184
9.2.1 使用map函数转换元素 184
9.2.2 使用filter函数过滤Bag 186
9.2.3 计算Bag的描述统计量 189
9.2.4 使用foldby方法创建聚合函数 190
9.3 从Bag中创建Arrays和DataFrame 192
9.4 使用Bag和NLTK进行并行文本分析 193
9.4.1 二元分析的基础 194
9.4.2 提取token和过滤停顿词 194
9.4.3 分析二元组 198
9.5 本章小结 200
第10章 使用Dask-ML进行机器学习 201
10.1 使用Dask-ML建立线性模型 202
10.1.1 准备二进制向量化数据 204
10.1.2 使用Dask-ML建立Logistic回归模型 210
10.2 评估和调整Dask-ML模型 211
10.2.1 用计分法评估Dask-ML模型 211
10.2.2 使用Dask-ML构建朴贝叶斯分类器 212
10.2.3 自动调整超参数 213
10.3 持续的Dask-ML模型 215
10.4 本章小结 217
第11章 扩展和部署Dask 219
11.1 使用Docker在Amazon AWS上创建Dask集群 220
11.1.1 入门 221
11.1.2 生成安全密钥 222
11.1.3 创建ECS集群 224
11.1.4 配置集群的网络 227
11.1.5 在Elastic文件系统中创建共享数据驱动 231
11.1.6 在Elastic ContainerRepository中为Docker镜像分配空间 236
11.1.7 为调度器、工作节点和Notebook创建和部署镜像 237
11.1.8 连接到集群 244
11.2 在集群上运行和监视Dask作业 246
11.3 在AWS上清理Dask集群 250
11.4 本章小结 252
附录A 软件的安装 253