内容推荐 Python语言凭借其简洁、易读及可扩展性等特点,已成为程序设计领域备受欢迎的语言之一。丰富的Python第三方包(又称“第三方库”)使得Python可以应用于多个领域,气象研究与应用领域也不例外。由NCL转化来的库很大程度地方便了读者的学习。 本书内容由浅入深且针对性强,示例丰富且涉及面广,系统地介绍Python语言的基本语法、高级特征以及与气象应用密切相关的工具包。本书从Python和Linux的基础知识开始讲解,无编程基础或需巩固基础的读者也能阅读;然后介绍气象数据的读取、处理等;接着介绍绘图基础知识与常用的气象绘图方案;继而介绍一些常用气象物理量计算以及统计方法与检验等;最后介绍简易机器学习入门和几种Python计算加速方案。 本书的目标读者为大气科学专业及其相近专业本科及以上的学生、科研人员、从业人员,以及对气象数据处理和可视化感兴趣的爱好者。 作者简介 杨效业,南京信息工程大学气象学博士,气象专业微信公众号“气海无涯”联合创始人,利用Python语言进行气象数据处理及可视化,并发表专业论文二十余篇,在气象家园、简书、哗哩哗哩等平台发布的Python气象编程系列教程受到广泛好评。 目录 第1章 认识Python 1.1 Python简介 1.1.1 Python与气象 1.1.2 Python与NCL 1.1.3 为什么使用Miniconda 1.2 开始使用 1.2.1 Miniconda安装 1.2.2 设置conda与pip镜像源 1.2.3 conda环境 1.3 Linux与Bash 1.3.1 Linux发行版 1.3.2 目录结构 1.3.3 用户与用户组 1.3.4 目录权限管理 1.3.5 远程登录 1.3.6 输入输出重定向 1.3.7 常用命令 1.4 Python包管理 1.4.1 conda 1.4.2 pip 1.5 编辑体验 1.5.1 交互式笔记本——Jupyter 1.5.2 工程型开发环境工具 第2章 Python语言基础 2.1 变量 2.2 原生数据类型 2.2.1 数值 2.2.2 空值 2.2.3 字符串 2.2.4 列表和元组 2.2.5 集合 2.2.6 字典 2.3 判断 2.3.1 比较操作 2.3.2 如果条件的值不是布尔值 2.3.3 多重条件 2.4 循环和迭代 2.4.1 循环 2.4.2 迭代 2.5 序列切片 2.6 解析式 2.6.1 列表解析式 2.6.2 字典解析式 2.6.3 集合解析式 2.6.4 生成器解析式 2.7 函数 2.7.1 定义函数 2.7.2 函数的参数 2.7.3 匿名函数 2.7.4 闭包与装饰器 2.7.5 高阶函数 2.8 面向对象基础 2.8.1 什么是对象 2.8.2 类和继承 第3章 NumPy:Python数值计算之源 3.1 安装 3.2 多维数组和列表 3.3 多维数组的特征 3.3.1 数据类型 3.3.2 轴与维度 3.4 创建多维数组 3.4.1 np.array()——直接创建 3.4.2 np.zeros()——根据shape参数创建数组 3.4.3 np.arange()——根据起点、终点和步长创建 3.4.4 np.linspace()——根据起点、终点和元素数量创建 3.4.5 np.random.randn()——生成符合标准正态分布的随机多维数组 3.5 数组间运算和广播运算 3.6 多维数组的索引和切片 3.6.1 普通索引和切片 3.6.2 高级索引 3.7 多维数组对象的方法 3.7.1 reshape()——改变数组形状 3.7.2 transpose()——交换轴 3.7.3 mean()——计算平均值 3.7.4 sum()——计算元素和 3.7.5 std()——计算标准差 3.7.6 min()——取最小值/max()——取最大值 3.7.7 round()——进行四舍五入 3.7.8 dot()——执行向量/矩阵乘法 3.7.9 astype()——转换数值类型 3.8 NumPy的常用函数 3.8.1 数学计算函数 3.8.2 三角函数 3.8.3 浮点函数 3.8.4 非通用函数 3.9 NumPy中的常量 3.10 文件读写 3.10.1 文本格式文件的读取 3.10.2 文本格式文件的写入 3.10.3 顺序二进制文件的读写 第4章 pandas:优秀的数据分析工具 4.1 安装 4.2 pd.Series——序列 4.2.1 创建序列 4.2.2 时间索引 4.2.3 pd.Series对象的算术运算 4.2.4 pd.Series对象的常用属性 4.2.5 pd.Series对象的常用方法 4.3 pd.DataFrame——数据框 4.3.1 创建数据框 4.3.2 pd.DataFrame的时间索引 4.3.3 读取CSV文件 4.3.4 pd.DataFrame的算术运算 4.3.5 提取满足条件的行 4.3.6 pd.DataFrame的常用属性 4.3.7 pd.DataFrame的常用方法 4.4 pandas的常用函数 4.4.1 to_numeric()——将序列转换为数值类型 4.4.2 to_datetime()——将序列转换为时间戳类型 4.4.3 to_timedelta()——将序列转换为时间差类型 4.4.4 date_range()——生成时间序列 4.4.5 merge()——按值连接两个pd.DataFrame 4.4.6 concat()——合并多个pd.DataFrame 第5章 栅格数据处理 5.1 xarray与气象栅格数据处理 5.1.1 xarray的安装 5.1.2 xarray基础知识 5.1.3 数据数组 5.1.4 数据集 5.1.5 数据数组与数据集的处理 5.2 MetPy入门 5.2.1 MetPy的安装 5.2.2 MetPy的单位制 5.2.3 MetPy的常用常数 第6章 常用气象数据读取和预处理 6.1 文本文件 6.1.1 什么是文件字符编码 6.1.2 CSV文件 6.1.3 空格(制表符)作为分隔符的文件 6.2 Excel文件 6.3 NetCDF文件 6.4 GRIB文件 6.4.1 使用PyNIO 6.4.2 使用cfgrib 6.5 GrADS二进制文件 6.5.1 站点数据 6.5.2 栅格数据 6.6 WRF-ARW输出文件 6.7 雷达基数据文件 6.8 CIMISS的使用 第7章 气象数据插值 7.1 空间插值 7.1.1 从站点到栅格 7.1.2 从栅格到站点 7.1.3 从栅格到栅格 7.2 时间插值 7.2.1 站点时间内插 7.2.2 栅格时间内插 第8章 Python绘图基础 8.1 Matplotlib与cartopy基础知识 8.1.1 绘图结构 8 |