.2.3字符串38
2.2.4列表和元组41
2.2.5集合47
2.2.6字典49
2.3判断53
2.3.1比较操作54
2.3.2如果条件的值不是布尔值54
2.3.3多重条件55
2.4循环和迭代55
2.4.1循环56
2.4.2迭代57
2.5序列切片60
2.6解析式61
2.6.1列表解析式61
2.6.2字典解析式63
2.6.3集合解析式63
2.6.4生成器解析式63
2.7函数64
2.7.1定义函数64
2.7.2函数的参数66
2.7.3匿名函数69
2.7.4闭包与装饰器70
2.7.5高阶函数73
2.8面向对象基础74
2.8.1什么是对象74
2.8.2类和继承75
第3章NumPy:Python数值计算之源80
3.1安装80
3.2多维数组和列表81
3.3多维数组的特征81
3.3.1数据类型81
3.3.2轴与维度82
3.4创建多维数组83
3.4.1np.array()——直接创建83
3.4.2np.zeros()——根据shape参数创建数组84
3.4.3np.arange()——根据起点、终点和步长创建84
3.4.4np.linspace()——根据起点、终点和元素数量创建85
3.4.5np.random.randn()——生成符合标准正态分布的随机多维数组85
3.5数组间运算和广播运算85
3.6多维数组的索引和切片88
3.6.1普通索引和切片88
3.6.2高级索引89
3.7多维数组对象的方法90
3.7.1reshape()——改变数组形状90
3.7.2transpose()——交换轴92
3.7.3mean()——计算平均值92
3.7.4sum()——计算元素和93
3.7.5std()——计算标准差94
3.7.6min()——取最小值/max()——取最大值94
3.7.7round()——进行四舍五入95
3.7.8dot()——执行向量/矩阵乘法95
3.7.9astype()——转换数值类型96
3.8NumPy的常用函数97
3.8.1数学计算函数97
3.8.2三角函数97
3.8.3浮点函数98
3.8.4非通用函数98
3.9NumPy中的常量99
3.10文件读写99
3.10.1文本格式文件的读取99
3.10.2文本格式文件的写入101
3.10.3顺序二进制文件的读写102
第4章pandas:优秀的数据分析工具104
4.1安装104
4.2pd.Series——序列104
4.2.1创建序列105
4.2.2时间索引106
4.2.3pd.Series对象的算术运算107
4.2.4pd.Series对象的常用属性108
4.2.5pd.Series对象的常用方法111
4.3pd.DataFrame——数据框123
4.3.1创建数据框123
4.3.2pd.DataFrame的时间索引125
4.3.3读取CSV文件125
4.3.4pd.DataFrame的算术运算128
4.3.5提取满足条件的行130
4.3.6pd.DataFrame的常用属性132
4.3.7pd.DataFrame的常用方法137
4.4pandas的常用函数156
4.4.1to_numeric()——将序列转换为数值类型156
4.4.2to_datetime()——将序列转换为时间戳类型157
4.4.3to_timedelta()——将序列转换为时间差类型158
4.4.4date_range()——生成时间序列159
4.4.5merge()——按值连接两个pd.DataFrame160
4.4.6concat()——合并多个pd.DataFrame162
第5章栅格数据处理163
5.1xarray与气象栅格数据处理163
5.1.1xarray的安装163
5.1.2xarray基础知识163
5.1.3数据数组164
5.1.4数据集169
5.1.5数据数组与数据集的处理173
5.2MetPy入门188
5.2.1MetPy的安装188
5.2.2MetPy的单位制188
5.2.3MetPy的常用常数190
第6章常用气象数据读取和预处理192
6.1文本文件192
6.1.1什么是文件字符编码192
6.1.2CSV文件194
6.1.3空格(制表符)作为分隔符的文件196
6.2Excel文件199
6.3NetCDF文件200
6.4GRIB文件201
6.4.1使用PyNIO201
6.4.2使用cfgrib203
6.5GrADS二进制文件205
6.5.1站点数据205
6.5.2栅格数据206
6.6WRF-ARW输出文件208
6.7雷达基数据文件211
6.8CIMISS的使用212
第7章气象数据插值213
7.1空间插值213
7.1.1从站点到栅格213
7.1.2从栅格到站点217
7.1.3从栅格到栅格219
7.2时间插值219
7.2.1站点时间内插220
7.2.2栅格时间内插221
第8章Python绘图基础222
8.1Matplotlib与cartopy基础知识223
8.1.1绘图结构223
8.1.2Figure、Axes与GeoAxes226
8.2地理绘图基础237
8.2.1shapefile/GeoJSON数据读取237
8.2.2在GeoAxes上绘制237
8.2.3几何数据筛选示例238
8.2.4多边形合并240
8.3颜色表(colormap)241
8.3.1Matplotlib的内置色标241
8.3.2MetPy库的内置色标241
8.3.3创建自定义色标242
8.4图像显示与保存246
8.4.1图像显示246
8.4.2图像保存247
第9章基本绘图类型与气象绘图248
9.1折线图248
9.1.1基本折线图250
9.1.2多折线图251
9.1.3多y轴折线图252
9.1.4非等比坐标轴图254
9.2散点图256
9.2.1基础散点图257
9.2.2带有地图投影的散点图257
9.3柱状图259
9.3.1单变量柱状图260
9.3.2多变量柱状图261
9.4箱线图263
9.5等值线图265
9.5.1基本等值线图266
9.5.2带有地图投影的等值线图269
9.5.3垂直剖面等值线图270
9.6填色图272
9.6.1contourf()272
9.6.2pcolor()275
9.7轨迹绘制(以台风路径的绘制为例)278
9.8流线图281
9.9矢量箭头图283
9.10风向杆图288
9.11探空图289
9.12泰勒图291
第10章常用气象物理量计算293
10.1干空气热力学(drythermodynamics)物理量293
10.1.1高于给定气压水平的某高度的气压293
10.1.2高于给定高度一定气压的高度293
10.1.3空气密度294
10.1.4干静力能294
10.1.5位势与海拔高度的相互转换294
10.1.6位温295
10.1.7利用Sigma值计算气压295
10.1.8垂直剖面的静力稳定度295
10.2湿热力学(moistthermodynamics)物理量296
10.2.1露点温度296
10.2.2相当位温297
10.2.3气体混合比297
10.2.4湿静力能298
10.2.5可降水量298
10.2.6相对湿度298
10.2.7饱和水汽压299
10.2.8比湿299
10.2.9某层的厚度300
10.2.10虚位温300
10.2.11虚温301
10.2.12湿球温度301
10.3动力学(dynamics/kinetics)物理量301
10.3.1绝对涡度301
10.3.2平流302
10.3.3非地转风(地转偏差)302
10.3.4科里奥利参数302
10.3.5散度302
10.3.6温度场的二维运动学锋生函数303
10.3.7地转风303
10.3.8斜压位涡304
10.3.9正压位涡304
10.3.10水平风的剪切变形305
10.3.11水平风的拉伸变形305
10.3.12水平风的水平总变形305
10.3.13水平风的垂直涡度306
10.3.14利用u、v分量计算风速(场)306
10.4气象领域常用的数学计算方法306
10.4.1切向量与法向量306
10.4.2一阶导数307
10.4.3梯度307
10.4.4水平增量307
10.4.5拉普拉斯算子308
10.4.6二阶导数308
第11章常用气象统计方法与检验309
11.1基本气候状态统计量309
11.1.1中心趋势统计量309
11.1.2变化幅度统计量311
11.1.3相关统计量312
11.1.4数据标准化317
11.2气候变化趋势分析318
11.2.1拟合318
11.2.2滑动平均319
11.2.3去趋势321
11.2.4滤波323
11.3气候序列突变检验325
11.3.1滑动t检验325
11.3.2曼-肯德尔法327
11.4气候变量场时空结构的分离(经验正交函数分解)329
第12章机器学习初探333
12.1什么是机器学习333
12.2传统机器学习333
12.2.1安装333
12.2.2示例数据集334
12.2.3自己的数据334
12.2.4数据预处理335
12.2.5分割数据集335
12.2.6使用内建算法进行学习335
12.2.7使用其他指标评估模型336
12.2.8使用模型进行预测337
12.2.9保存/载入训练好的模型337
12.3深度学习框架337
12.3.1安装338
12.3.2使用338
第13章计算加速与Fortran绑定343
13.1原生代码优化343
13.1.1将代码向量化343
13.1.2使用Numba对循环加速345
13.2独立语言绑定346
13.2.1Cython346
13.2.2Fortran349