实际科研、业务中,气象数据往往体积大得惊人。为了更快速高效地处理这些数据,我们需要使用一些并行的手段,而dask库就是我们的选择之一。
这里分享一套dask库官方教程的中文翻译版,感谢翻译者Hollis老师
数据集链接:https://www.heywhale.com/mw/dataset/610b5f21911b33001745ed8c/file
英文原文链接:https://github.com/dask/dask-tutorial
Dask
Dask是一个并行计算库,可扩展现有的Python生态系统。 本教程将更一般性地介绍Dask和并行数据分析。
Dask可以在下至笔记本电脑,上至集群中运行。 在这里,我们将使用您在笔记本电脑上设置的环境在本地并行分析中型数据集。
教程目录
第1章_dask.delayed,使用 dask.delayed 并行化代码
- 基础
- 刚才发生了什么?
- 练习:并行化for循环
- 练习:使用控制流并行化 for 循环代码
- 练习:并行化Pandas Groupby归约
- 创建数据
- 关闭客户端
第1x章_惰性执行
- 序幕
- Dask 是一个图执行引擎
- 练习
- 附录:更多细节和示例
└ 示例 1:简单的字数统计
└ 示例 2:后台执行
└ 示例 3:延迟执行
- Dask 任务图
第2章_bag,半结构化数据的并行列表
- 创建数据
- 设置
- 创建
- 操作
└ 示例:Accounts JSON 数据
└ 基本查询
└ 使用flatten 去除嵌套
└ Groupby 和 Foldby
└ groupby
└ foldby
└ account数据的示例
└ 练习:计算每个名字的总金额
- DataFrames
- 局限性
- 了解更多
- 关闭
第3章_数组
- 创建数据
- 设置
- 分块算法
└ 练习:使用分块算法计算均值
- dask.array 包含这些算法
└ 练习:计算均值
- 性能和并行性
└ 示例
- 性能对比
└ 练习:气象数据
└ 练习:子采样和存储
- 示例:兰纳-琼斯势
└ Dask 版本
- 局限性
第4章_数据帧,dataframe
- 何时使用 dask.dataframe
- 创建数据
- 设置
└ 真实数据
└ 刚才发生了什么?
- 使用 dask.dataframe 计算
- 练习
└ 数据集有多少行?
└ 总共有多少非取消(non-canceled)航班?
└ 每个机场总共有多少非取消(non-canceled)航班?
└ 每个机场的平均起飞延误是多少?
└ 一周中哪一天的平均出发延误最严重?
- 共享中间结果
- 这与 Pandas 相比如何?
- Dask DataFrame 数据模型
- 将 CRSDepTime 转化为时间戳
└ 自定义代码和Dask Dataframe
└ 练习:重写上面的代码以使用对 map_partitions 的单个调用
- 局限性
- 什么不起作用?
- 了解更多
第5章_分布式
- 需要思考的一些问题:
- 创建一个集群
└ 简单的方法
- 使用分布式客户端执行
└ 练习
第6章_分布式,进阶
- 分布式futures
└ Client.submit
└ 练习:使用 Client.submit 重建上述延迟计算
└ 持久化
- 异步计算
- 调试
第7章_数据帧的存储
- 创建数据
- 读取 CSV
└ 写入为HDF5
└ 比较 CSV 和 HDF5 的速度
└ 使用categorical有效地存储文本|
└ 练习
- 远程文件
第8章_并行和分布式机器学习
- 扩展类型
- 五分钟浅谈Scikit-Learn
- 超参数
- 超参数优化
- scikit-learn的单机并行
- 使用 Dask 实现多机并行
- 大数据集上训练
作业
- 纽约市出租车数据
- Github 存档
- Reddit 评论
- 纽约市政热线311数据
- 欧洲中期天气预报中心数据