National Institute for Water and Atmospheric research
Auckland, New Zealand
Dates and times:
Nicolas Fauchereau (Nicolas.Fauchereau@gmail.com) My academia web-page
All the notebooks in this seminar series are indexed at
https://github.com/nicolasfauchereau/NIWA_Python_seminars
If you have git installed, the easier is to clone my repository
git clone https://github.com/nicolasfauchereau/NIWA_Python_seminars.git
If you are not a git user, simply download the tarball from here or copy the directory NIWA_Python_seminars
from my S: drive.
Basic types, data structures and control flow in python
Numpy arrays, fundamental building block of the scientific stack
Scipy: statistical distributions, interpolation, some linear algebra
Pandas: Series and DataFrames, data munging
Getting data in and out of Python: txt, csv, xls, matlab, netcdf …
The fundamental API libraries for statistical modeling and statistical (aka machine) learning: scipy.stats, statsmodels, sklearn
plotting with Matplotlib and mapping with Basemap will be covered in coming sessions
- www.google.com
- A good tutorial by Alan Gauld
- The classes entry from the official Python doc
- A short pdf from Andrew Walker's Python for Earth Scientists course
C, C++, Fortran
or the Cython
module
- The Python standard library: Python is battery included, will just touch upon the
datetime
module- requests: http for humans
- python-pptx: automating the creation of powerpoint files
- have a look at the python package index
- pyserial: Module that encapsulates the access for the serial port
- Real World Instrumentation, Automated Data Acquisition and Control Systems: A book available on Amazon.
- Programming Raspberry Pi: Getting Started with Python: book (not free) with code (free)
- PyVISA: The PyVISA package enables you to control all kinds of measurement equipment through various busses (GPIB, RS232, USB) with Python programs
- PIL (Python Image Library): Image processing capabilities to your Python interpreter.
- scikit-image: more Image processing, built on top of Numpy / Scipy.
- The SymPy library is a Python library for symbolic mathematics. It supports polynomials, calculus, solving equations, etc
- PySAL: PySAL is a cross-platform library of spatial analysis functions written in Python. It is intended to support the development of high level applications for spatial analysis.
- Biopython: Biopython is a set of freely available tools for biological computation written in Python by an international team of developers.
- GeoEco: Open source geoprocessing toolbox designed for coastal and marine researchers and GIS analysts who work with spatially-explicit ecological and oceanographic data. For Windows (> XP) only.
In building this material, I have liberally 'borrowed' from lecture notes, online notebooks, video recording of talks, code examples, articles, etc, that are freely available online, I would like to acknowledge in particular (list not exhaustive and in no particular order):
And finally John Hunter, He was the founder and lead developper of Matplotlib, a pivotal library to make Python a viable free and open-source alternative to commercial scientific software, and very sadly passed away in 2012.
I encourage you - if you carry on using Python for science - to look up these people on google, have a look at their github repositories and the projects they contribute to, and follow them on twitter, some of them (e.g. Jake VanderPlas) have also very informative blogs. You can also donate to the John Hunter memorial fund as a way to give back to an important contributor to the Python scientific community.
Python Scientific Lectures Notes: Tutorial material on the scientific Python ecosystem, a quick introduction to central tools and techniques.
Python for earth scientists: A two afternoons course by Andrew Walker (University of Bristol) on Python in the earth sciences.
oceanpython: Python for oceanography
PyAOS: Python for the Atmospheric and Oceanic Sciences
python4oceanographers: Learn python with examples applied to marine sciences.
Pythonic perambulations: A blog by Jake VanderPlas
A gallery of interesting IPython Notebooks: "...a curated collection of IPython notebooks that are notable for some reason."
Scikit-learn tutorial: Files and other info associated with the Scipy 2013 scikit-learn tutorial developped by Gaël Varoquaux, Olivier Grisel and Jake VanderPlas.
Statistical Analysis tutorial from Chris. Fonnesbeck.
AstroML: Machine Learning and Data Mining for Astronomy: A library and tutorial by Jake VanderPlas and co-authors, accompanying the book Statistics, Data Mining, and Machine Learning in Astronomy
data Science in Python: A series of annotated notebooks on data science (i.e. geared towards machine learning) in python
http://earthpy.org/: EarthPy is a collection of IPython notebooks with examples of Earth Science related Python code
Python for Data Analysis: From Wes McKinney (Developer of Pandas ... you are welcome to borrow it from me if it comes back to my desk in a reasonable time.)
Think stats: Probability and statistics for programmers, from Allen Downey, pdf available for free.
Think complexity: Complexity science (graphs, cellular automata, agent-based models), from Allen Downey, pdf available for free.
Python in hydrology: A book freely available in pdf, from Sat Kumar Tomer.
Programming collective intelligence: By Toby Segaran, Good intro on (general) Machine Learning algorithms. Can borrow from me.
Machine Learning in action: By Peter Harrington. Can borrow from me.
Introduction to Python for Econometrics, Statistics and Numerical Analysis: Second Edition: By Kevin Sheppard, Oxford Uni.
A Hands-On Introduction to Using Python in the Atmospheric and Oceanic Sciences: By Johnny Lin, Professor of physics and head of the Climate Research Group at North Park University.
principles of planetary climate: by Ray Pierrehumbert. Excellent book on the physics of planetary climates, with freely downloadable python code to follow the examples given in the book.
PYMC: By Chris Fonnesbeck, Bayesian statistical models and fitting algorithms, including Markov chain Monte Carlo.
Seaborn: Statistical data visualization, by Michael Waskom. Its graphical representation of linear models is particularly interesting.
ggplot: For R users, a 'port' of the ggplot2 package to Python, see here for what's new in the latest release.
prettyplotlib: By Olga Botvinnik "... painlessly create beautiful matplotlib plots".
coards: A COARDS compliant time parser. See also netcdftime which is part of the NetCDF4 module
seawater: Similar to the MATLAB toolboxes SEAWATER from CSIRO and parts of OCEANS from Woods Hole Institute.
fluid: Procedures to study fluids on Python, focused for oceanography, meteorology and related sciences.
kyPyWavelet: Continuous wavelet transform module for Python ala Torrence and Compo. Some manual edits were necessary to make it work for me ...
pyresample: Resampling (reprojection) of geospatial image data in Python
Rpy2: calling R from Python
Reproducible Research in Computational Science, Roger D. Peng, Science 334, 1226 (2011).
Shining Light into Black Boxes, A. Morin et al., Science 336, 159-160 (2012).
The case for open computer programs, D.C. Ince, Nature 482, 485 (2012).
Best practices for scientific computing: Paper in PLOS Biology exposing some of the tools and methods to build better Scientific software.
%load_ext load_style
%load_style talk.css