Python气象应用编程

Python气象应用编程

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

编辑推荐

本书介绍了Python在气象数据处理与可视化方面的应用,以真实数据为基础进行气象数据整理和可视化。

内容简介

Python语言凭借其简洁、易读及可扩展性等特点,已成为程序设计领域备受欢迎的语言之一。丰富的Python第三方包(又称“第三方库”)使得Python可以应用于多个领域,气象研究与应用领域也不例外。由NCL转化来的库很大程度地方便了读者的学习。本书内容由浅入深且针对性强,示例丰富且涉及面广,系统地介绍Python语言的基本语法、高级特征以及与气象应用密切相关的工具包。本书从Python和Linux的基础知识开始讲解,无编程基础或需巩固基础的读者也能阅读;然后介绍气象数据的读取、处理等;接着介绍绘图基础知识与常用的气象绘图方案;继而介绍一些常用气象物理量计算以及统计方法与检验等;最后介绍简易机器学习入门和几种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.1.2 Figure、Axes与GeoAxes

8.2 地理绘图基础

8.2.1 shapefile/GeoJSON数据读取

8.2.2 在GeoAxes上绘制

8.2.3 几何数据筛选示例

8.2.4 多边形合并

8.3 颜色表(colormap)

8.3.1 Matplotlib的内置色标

8.3.2 MetPy库的内置色标

8.3.3 创建自定义色标

8.4 图像显示与保存

8.4.1 图像显示

8.4.2 图像保存

第9章 基本绘图类型与气象绘图

9.1 折线图

9.1.1 基本折线图

9.1.2 多折线图

9.1.3 多y轴折线图

9.1.4 非等比坐标轴图

9.2 散点图

9.2.1 基础散点图

9.2.2 带有地图投影的散点图

9.3 柱状图

9.3.1 单变量柱状图

9.3.2 多变量柱状图

9.4 箱线图

9.5 等值线图

9.5.1 基本等值线图

9.5.2 带有地图投影的等值线图

9.5.3 垂直剖面等值线图

9.6 填色图

9.6.1 contourf()

9.6.2 pcolor()

9.7 轨迹绘制(以台风路径的绘制为例)

9.8 流线图

9.9 矢量箭头图

9.10 风向杆图

9.11 探空图

9.12 泰勒图

第10章 常用气象物理量计算

10.1 干空气热力学(dry thermodynamics)物理量

10.1.1 高于给定气压水平的某高度的气压

10.1.2 高于给定高度一定气压的高度

10.1.3 空气密度

10.1.4 干静力能

10.1.5 位势与海拔高度的相互转换

10.1.6 位温

10.1.7 利用Sigma值计算气压

10.1.8 垂直剖面的静力稳定度

10.2 湿热力学(moist thermodynamics)物理量

10.2.1 露点温度

10.2.2 相当位温

10.2.3 气体混合比

10.2.4 湿静力能

10.2.5 可降水量

10.2.6 相对湿度

10.2.7 饱和水汽压

10.2.8 比湿

10.2.9 某层的厚度

10.2.10 虚位温

10.2.11 虚温

10.2.12 湿球温度

10.3 动力学(dynamics/kinetics)物理量

10.3.1 绝对涡度

10.3.2 平流

10.3.3 非地转风(地转偏差)

10.3.4 科里奥利参数

10.3.5 散度

10.3.6 温度场的二维运动学锋生函数

10.3.7 地转风

10.3.8 斜压位涡

10.3.9 正压位涡

10.3.10 水平风的剪切变形

10.3.11 水平风的拉伸变形

10.3.12 水平风的水平总变形

10.3.13 水平风的垂直涡度

10.3.14 利用u、v分量计算风速(场)

10.4 气象领域常用的数学计算方法

10.4.1 切向量与法向量

10.4.2 一阶导数

10.4.3 梯度

10.4.4 水平增量

10.4.5 拉普拉斯算子

10.4.6 二阶导数

第11章 常用气象统计方法与检验

11.1 基本气候状态统计量

11.1.1 中心趋势统计量

11.1.2 变化幅度统计量

11.1.3 相关统计量

11.1.4 数据标准化

11.2 气候变化趋势分析

11.2.1 拟合

11.2.2 滑动平均

11.2.3 去趋势

11.2.4 滤波

11.3 气候序列突变检验

11.3.1 滑动t检验

11.3.2 曼-肯德尔法

11.4 气候变量场时空结构的分离(经验正交函数分解)

第12章 机器学习初探

12.1 什么是机器学习

12.2 传统机器学习

12.2.1 安装

12.2.2 示例数据集

12.2.3 自己的数据

12.2.4 数据预处理

12.2.5 分割数据集

12.2.6 使用内建算法进行学习

12.2.7 使用其他指标评估模型

12.2.8 使用模型进行预测

12.2.9 保存/载入训练好的模型

12.3 深度学习框架

12.3.1 安装

12.3.2 使用

第13章 计算加速与Fortran绑定

13.1 原生代码优化

13.1.1 将代码向量化

13.1.2 使用Numba对循环加速

13.2 独立语言绑定

13.2.1 Cython

13.2.2 Fortran

Python气象应用编程是2023年由人民邮电出版社出版,作者杨效业。

得书感谢您对《Python气象应用编程》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
Python快速编程入门 电子书
Python是一种面向对象、解释性的高*程序语言,它已经被应用在众多领域,包括Web开发、操作系统管理、服务器运维的自动化脚本、科学计算、桌面软件、服务器软件(网络软件)、游戏等方面。本书以Windows为平台,系统全面地讲解了Python3的基础知识,其中,第1章主要是带领读者认识Python;第2章主要针对Python的基础语法进行讲解;第3章主要介绍Python中的常用语句;第4~5章主要介
Python编程做中学 电子书
一本零基础的Python编程入门书。
Python编程轻松进阶 电子书
阅读本书,理解代码底层逻辑,像职业程序员一样使用Python。
青少年Python编程入门 电子书
快速入门 图文并茂,理论与实践相结合,引导读者快速入门 轻松上手 有趣的文字描述,细致的流程讲解,帮助读者学习程序轻松上手 熟练应用 精炼的章节回顾,经典的自我评价,帮助读者提高学习成效
Python编程快速上手2 电子书
本书旨在以“短小精悍的代码+丰富的创造力”的方式向读者展示81个简单、有趣的实践项目。如果你已经掌握了基本的Python语法,并且准备开始编写程序,那么阅读本书会让你觉得既有趣又很受启发。本书给出的81个Python项目,可以助你快速上手Python编程完成数字艺术、游戏、动画、计数程序等方面的任务。一旦了解了代码是如何工作的,你就可以动手重新编写程序,并通过添加自定义的内容来不断实践。需要说明的