|
Part I Python for Geologists: A Kickoff |
|
|
|
1 Setting Up Your Python Environment, Easily |
|
|
3 | (8) |
|
1.1 The Python Programming Language |
|
|
3 | (1) |
|
1.2 Programming Paradigms |
|
|
4 | (1) |
|
1.3 A Local Python Environment for Scientific Computing |
|
|
5 | (2) |
|
1.4 Remote Python Environments |
|
|
7 | (1) |
|
1.5 Python Packages for Scientific Applications |
|
|
8 | (1) |
|
1.6 Python Packages Specifically Developed for Geologists |
|
|
9 | (2) |
|
2 Python Essentials for a Geologist |
|
|
11 | (14) |
|
2.1 Start Working with IPython Console |
|
|
11 | (2) |
|
2.2 Naming and Style Conventions |
|
|
13 | (1) |
|
2.3 Working with Python Scripts |
|
|
14 | (3) |
|
2.4 Conditional Statements, Indentation, Loops, and Functions |
|
|
17 | (4) |
|
2.5 Importing External Libraries |
|
|
21 | (1) |
|
2.6 Basic Operations and Mathematical Functions |
|
|
21 | (4) |
|
3 Solving Geology Problems Using Python: An Introduction |
|
|
25 | (18) |
|
3.1 My First Binary Diagram Using Python |
|
|
25 | (7) |
|
3.2 Making Our First Models in Earth Science |
|
|
32 | (4) |
|
3.3 Quick Intro to Spatial Data Representation |
|
|
36 | (7) |
|
Part II Describing Geological Data |
|
|
|
4 Graphical Visualization of a Geological Data Set |
|
|
43 | (24) |
|
4.1 Statistical Description of a Data Set: Key Concepts |
|
|
43 | (1) |
|
4.2 Visualizing Univariate Sample Distributions |
|
|
44 | (3) |
|
4.3 Preparing Publication-Ready Binary Diagrams |
|
|
47 | (19) |
|
4.4 Visualization of Multivariate Data: A First Attempt |
|
|
66 | (1) |
|
5 Descriptive Statistics 1: Univariate Analysis |
|
|
67 | (16) |
|
5.1 Basics of Descriptive Statistics |
|
|
67 | (1) |
|
|
67 | (5) |
|
|
72 | (5) |
|
|
77 | (2) |
|
5.5 Descriptive Statistics in Pandas |
|
|
79 | (1) |
|
|
80 | (3) |
|
6 Descriptive Statistics 2: Bivariate Analysis |
|
|
83 | (16) |
|
6.1 Covariance and Correlation |
|
|
83 | (4) |
|
6.2 Simple Linear Regression |
|
|
87 | (3) |
|
6.3 Polynomial Regression |
|
|
90 | (1) |
|
|
91 | (8) |
|
Part III Integrals and Differential Equations in Geology |
|
|
|
|
99 | (18) |
|
|
99 | (1) |
|
7.2 Basic Properties of Integrals |
|
|
99 | (2) |
|
7.3 Analytical and Numerical Solutions of Definite Integrals |
|
|
101 | (1) |
|
7.4 Fundamental Theorem of Calculus and Analytical Solutions---- |
|
|
101 | (2) |
|
7.5 Numerical Solutions of Definite Integrals |
|
|
103 | (6) |
|
7.6 Computing the Volume of Geological Structures |
|
|
109 | (1) |
|
7.7 Computing the Lithostatic Pressure |
|
|
110 | (7) |
|
|
117 | (20) |
|
|
117 | (1) |
|
8.2 Ordinary Differential Equations |
|
|
118 | (4) |
|
8.3 Numerical Solutions of First-Order Ordinary Differential Equations |
|
|
122 | (4) |
|
8.4 Fick's Law of Diffusion--A Widely Used Partial Differential Equation |
|
|
126 | (11) |
|
Part IV Probability Density Functions and Error Analysis |
|
|
|
9 Probability Density Functions and Their Use in Geology |
|
|
137 | (18) |
|
9.1 Probability Distribution and Density Functions |
|
|
137 | (1) |
|
9.2 The Normal Distribution |
|
|
138 | (4) |
|
9.3 The Log-Normal Distribution |
|
|
142 | (2) |
|
9.4 Other Useful PDFs for Geological Applications |
|
|
144 | (1) |
|
|
144 | (8) |
|
9.6 The Central Limit Theorem and Normal Distributed Means ---- |
|
|
152 | (3) |
|
|
155 | (26) |
|
10.1 Dealing with Errors in Geological Measurements |
|
|
155 | (7) |
|
10.2 Reporting Uncertainties in Binary Diagrams |
|
|
162 | (6) |
|
10.3 Linearized Approach to Error Propagation |
|
|
168 | (4) |
|
10.4 The Mote Carlo Approach to Error Propagation |
|
|
172 | (9) |
|
Part V Robust Statistics and Machine Learning |
|
|
|
11 Introduction to Robust Statistics |
|
|
181 | (14) |
|
11.1 Classical and Robust Approaches to Statistics |
|
|
181 | (1) |
|
|
182 | (4) |
|
11.3 Robust Estimators for Location and Scale |
|
|
186 | (6) |
|
11.4 Robust Statistics in Geochemistry |
|
|
192 | (3) |
|
|
195 | (14) |
|
12.1 Introduction to Machine Learning in Geology |
|
|
195 | (2) |
|
12.2 Machine Learning in Python |
|
|
197 | (1) |
|
12.3 A Case Study of Machine Learning in Geology |
|
|
197 | (12) |
Appendix A Python Packages and Resources for Geologists |
|
209 | (2) |
Appendix B Introduction to Object Oriented Programming |
|
211 | (4) |
Appendix C The Matplotlib Object Oriented API |
|
215 | (4) |
Appendix D Working with Pandas |
|
219 | (4) |
Further Readings |
|
223 | |