目录
第 一部分 地质学家应知应会的Python基础知识
第 1章 轻松搭建Python环境 2
1.1 Python编程语言 2
1.2 编程范例 3
1.3 本地Python环境 3
1.4 远程Python环境 6
1.5 Python包 6
1.6 专门为地质学家开发的Python包 7
第 2章 地质学家的Python知识 8
2.1 从使用IPython控制台开始 8
2.2 样式和命名规则 10
2.3 使用Python脚本 11
2.4 条件语句、缩进、循环和函数 13
2.4.1 条件语句 13
2.4.2 缩进和块 14
2.4.3 for循环 15
2.4.4 while循环 16
2.4.5 函数 17
2.5 导入外部库 18
2.6 基本运算和数学函数 18
第3章 用Python解决地质问题:简介 21
3.1 第 一次使用Python绘制二元相图 21
3.2 建立第 一个地球科学模型 28
3.3 空间数据表达的快速入门 32
第二部分 地质数据描述
第4章 地质数据集的图形可视化 38
4.1 数据集的统计学描述:主要概念 38
4.2 可视化单变量样本分布 39
4.2.1 直方图 39
4.2.2 累积分布图 41
4.3 准备发布就绪的二元相图 41
4.3.1 子图 41
4.3.2 标记 43
4.3.3 图例 49
4.3.4 四舍五入小数、文本格式、符号和特殊字符 52
4.3.5 二元相图:plot()与scatter()的比较 57
4.4 多元数据可视化:首次尝试 62
第5章 描述统计1:单变量分析 64
5.1 描述统计基础 64
5.2 位置 64
5.2.1 平均数 64
5.2.2 中位数 67
5.2.3 众数 68
5.3 离差或尺度 69
5.3.1 极差 69
5.3.2 方差和标准差 71
5.3.3 四分位距 73
5.4 偏度 74
5.5 pandas中的描述统计 77
5.6 箱形图 78
第6章 描述统计2:双变量分析 80
6.1 协方差和相关性 80
6.2 简单线性回归 83
6.3 多项式回归 85
6.4 非线性回归 87
第三部分 地质学中的积分与微分方程
第7章 数值积分 94
7.1 定积分 94
7.2 积分的基本性质 95
7.3 定积分的解析解和数值解 95
7.4 微积分的基本定理和解析解 96
7.4.1 微积分的基本定理 96
7.4.2 解析解:Python中的符号法 96
7.5 定积分的数值解 97
7.5.1 矩形法 97
7.5.2 梯形法 100
7.5.3 基于scipy的梯形法和复合辛普森法 101
7.6 计算地质构造体积 103
7.7 计算岩石静压力 104
第8章 微分方程 110
8.1 引言 110
8.2 常微分方程 111
8.3 一阶常微分方程的数值解 116
8.3.1 欧拉法 116
8.3.2 scipy.integrate.ode类 118
8.4 菲克扩散定律—一种广泛使用的偏微分方程 120
8.4.1 解析解 121
8.4.2 常数D的数值解 123
第四部分 概率密度函数与误差分析
第9章 概率密度函数及其在地质学中的应用 130
9.1 概率分布与密度函数 130
9.2 正态分布 131
9.2.1 正态概率密度函数 131
9.2.2 生成服从正态分布的随机样本 135
9.3 对数正态分布 137
9.4 其他适用于地质学的概率密度函数 139
9.5 密度估计 140
9.6 中心极限定理与正态分布均值 145
第 10章 误差分析 148
10.1 地质测量中的误差处理 148
10.1.1 精确度和准确度 148
10.1.2 置信区间 151
10.1.3 均值估计的不确定性: 标准误差 153
10.2 二元相图中的不确定性 报告 155
10.3 误差传播的线性化方法 161
10.4 误差传播的蒙特卡洛方法 166
第五部分 稳健统计与机器学习
第 11章 稳健统计导论 174
11.1 经典统计法和稳健统计法 174
11.2 正态检验 175
11.2.1 直方图和参数拟合 175
11.2.2 Q-Q图 177
11.2.3 统计检验 178
11.3 位置和尺度的稳健估计 180
11.3.1 位置的稳健估计和 弱估计 180
11.3.2 尺度的稳健估计和 弱估计 183
11.3.3 位置和尺度的联合稳健 估计 185
11.4 地球化学中的稳健统计 187
第 12章 机器学习 189
12.1 地质学中的机器学习导论 189
12.2 Python中的机器学习 191
12.3 机器学习在地质学中的 研究案例 191
12.3.1 用于训练的实验 数据 192
12.3.2 标准化 194
12.3.3 训练和测试模型 197
附录A 面向地质学家的Python包和资源 201
A.1 面向地质学家的Python包 201
A.2 面向地质学家的Python学习资源 201
附录B 面向对象编程导论 202
B.1 面向对象编程 202
B.2 在Python中定义类、属性和方法 202
附录C Matplotlib面向对象API 206
C.1 Matplotlib应用程序接口 206
C.2 Matplotlib面向对象API 206
C.3 使用OO样式微调地质图 207
附录D 使用Pandas工具 210