{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Python for Earth Science Students\n", "\n", "\n", "\n", "To look at these lectures interactively, go to:\n", "[https://mybinder.org/v2/gh/ltauxe/Python-for-Earth-Science-Students/master](https://mybinder.org/v2/gh/ltauxe/Python-for-Earth-Science-Students/master)\n", "\n", "\n", "### [Lecture 1](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_01.ipynb)\n", "\n", "\n", "- Learn to find your command line interface.\n", "- Learn how to launch a Jupyter notebook from the command line interface\n", "- Learn basic notebook anatomy.\n", "- Learn some basic python operating system commands \n", "- Learn about the concept of **PATH**\n", "- Turn in your first practice problem notebook. \n", "\n", "### [Lecture 2](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_02.ipynb)\n", "\n", "- Learn about variables\n", "- Learn about operations\n", "\n", "### [Lecture 3](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_03.ipynb)\n", "\n", "- Learn about collections of variables: data structures \n", "\n", "- Learn about _objects_ \n", "- Learn about _methods_ which allow you to do things to _objects_\n", "\n", "### [Lecture 4](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_04.ipynb)\n", "\n", "- Learn more about another useful data structure, **dictionaries** and some of their **methods**\n", "- Introduce special Python code blocks\n", "- Learn about \"for\" loops, \"while\" loops and \"if\" blocks\n", "\n", "### [Lecture 5](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_05.ipynb)\n", "\n", "- Learn about functions\n", "- Discover the joys of modules \n", "\n", "### [Lecture 6](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_06.ipynb)\n", "\n", "- get a first peek at the very useful Python packages called **NumPy** and **matplotlib**\n", "\n", "### [Lecture 7](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_07.ipynb)\n", "\n", "- Learn more about **NumPy** and **matplotlib**\n", "- Learn more about **NumPy** arrays. \n", " \n", "\n", "### [Lecture 8](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_08.ipynb)\n", "\n", "- more about **matplotlib**: adding notes and saving images\n", "- about DataFrames and Series, two new _data structures_, that are part of the **Pandas** package \n", "- some basic filtering tricks with **Pandas**\n", "- how to read in and save data files with **Pandas**\n", "\n", "### [Lecture 9](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_09.ipynb)\n", "\n", "- Learn how to filter data with Pandas\n", "- Write a program to calculate the great circle distances between two known points. \n", "- Learn how to generate formatted strings for output.\n", "\n", "### [Lecture 10](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_10.ipynb)\n", "\n", "- Learn about \"object oriented programming\" (OOP)\n", "- Learn how to create a \"class\"\n", "- Learn more about namespaces \n", "- Learn more about copies\n", "\n", " \n", "### [Lecture 11](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_11.ipynb)\n", "\n", "- Learn about **lambda** functions\n", "- How to use **map( )**, **filter( )**, and **reduce( )** \n", "- Explore the joys of List, Set and dictionary comprehension\n", "\n", "\n", "### [Lecture 12](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_12.ipynb)\n", "\n", "- Tricks with pandas\n", "- Filtering \n", "- concatentating and merging dataframes\n", "\n", "### [Lecture 13](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_13.ipynb)\n", "\n", "- Learn a few more Pandas tricks\n", "- Learn how to make more complicated plots with **matplotlib**\n", "- Learn about the composition of the sun, solar system and Earth.\n", "- Learn about exceptions in python\n", "\n", "### [Lecture 14](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_14.ipynb)\n", "\n", "- Learn how to plot histograms and cumulative distributions\n", "- Learn how to get lists of random numbers \n", "- Learn about the topography of the Earth (hypsometric curve)\n", "\n", "### [Lecture 15](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_15.ipynb)\n", "\n", "- Learn some basic statisics - samples versus populations and empirical versus theorectical distributions.\n", "- Learn to calculate _central tendencies_, _spreads_. \n", "- Learn about _significant figures_ and more about formatting output. \n", "- Learn some useful functions in **NumPy** and **SciPy** for simulating distributions and calculating statistics.\n", "\n", "### [Lecture 16](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_16.ipynb)\n", "\n", "- Learn how to deal with bivariate data (fitting lines, curves).\n", "- Apply line fitting to determine the age of the Universe. Cool. \n", "\n", "### [Lecture 17](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_17.ipynb)\n", "\n", "- Learn how to use the **seaborn** package to produce beautiful plots\n", "- Learn about kernel density estimates\n", "- Learn appropriate ways of representing different types of data\n", "\n", "### [Lecture 18](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_18.ipynb)\n", "\n", "NB: This lecture may not work properly in the interactive online binder environement. (it requires cartopy==0.17.0 and that is not yet available)\n", "\n", "- start to make some basic maps using **Cartopy**. Yippee (we love maps). \n", "\n", "\n", "### [Lecture 19](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_19.ipynb)\n", "\n", "NB: This lecture may not work properly in the interactive online binder environement. (it requires cartopy==0.17.0 and that is not yet available)\n", "\n", "- Learn about gridding and contouring with cartopy\n", "\n", "\n", "### [Lecture 20](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_20.ipynb)\n", "\n", "- Learn about geoplot and geopandas\n", "- Learn a bit about coordinate systems (UTM versus WGS84, as examples)\n", "- Learn something about Hawaiian volcanism\n", "\n", "\n", "### [Lecture 21](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_21.ipynb)\n", "\n", "- We will work with directional data using rose diagrams and stereonets\n", "\n", "\n", "\n", "### [Lecture 22](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_22.ipynb)\n", "\n", "- Learn some useful tricks about matrix math. \n", "\n", "\n", "### [Lecture 23](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_23.ipynb)\n", "\n", "- Learn how to plot great and small circles on an equal area net and map projections. \n", "\n", "\n", "\n", "### [Lecture 24](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_24.ipynb)\n", "\n", "- Find out about Machine Learning\n", "- Learn about using the **scikit-learn** python package for clustering analysis.\n", "- Apply clustering analysis to Earth Science problems\n", "\n", "### [Lecture 25](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_25.ipynb)\n", "\n", "- Learn how to use satellite imagery to understand land usage.\n", "- Learn how to use patches in matplotlib.\n", "- Learn about using the **scikit-learn** python package to classify data.\n", "\n", "\n", "### [Lecture 26](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_26.ipynb)\n", "\n", "- Learn about 3D plots of points and surfaces\n", "- Show some examples with subduction zone earthquakes and isotopic systems\n", "\n", "\n", "\n", "### [Lecture 27](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_27.ipynb)\n", "\n", "\n", "- Take a look at data with respect to time (time series)\n", "- Learn a bit about time series analysis. \n", "\n", "### [Lecture 28](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_28.ipynb)\n", "\n", "\n", "- Learn how to make and display animated gifs\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.7" } }, "nbformat": 4, "nbformat_minor": 2 }