- Jupyter notebooks are a splendid way to organise calculations: you have first to lear how to use them (here a manual).
- Lectures on scientific computing with Python by J.R. Johansson cover the main topics very nicely. the first four of more general interest:
- Lecture-0 Scientific Computing with Python (This is a general lecture)
- Lecture-1 Introduction to Python Programming (Just basic notions on programming)
- Lecture-2 Numpy - multidimensional data arrays (Array and vectors)
- Lecture-3 Scipy - Library of scientific algorithms (Doing science with Python)
- Lecture-4 Matplotlib - 2D and 3D plotting (No plots, no science: quite a general introduction)

- For Italians, my own introductory lectures have their place, I believe also because I used Jupyter notebooks (and Python 3) to convey previous work by Joseph Eschgfaeller (translated from Python 2.7).
- Una introduzione gentile al Python scripting (mostly a translation from JE lectures)
- Esperimenti nella lettura di un file
- Leggere un file con PANDAS (e plot dei dati con Matplotlib)
- Scipy Lecture Notes is a good (not necessarily quick) starting. The html version supports hyperlinks that the pdf one does not. You can download the chapters in pdf and at their end, you can download the Jupyter notebooks with the exercises. You can also find part of the exercises here below
- From Wes McKinney (creator of Pandas) Python for data analysis book:
- Chapter 2: Python Language Basics, IPython, and Jupyter Notebooks
- Chapter 3: Built-in Data Structures, Functions, and Files
- Chapter 4: NumPy Basics: Arrays and Vectorized Computation
- Chapter 5: Getting Started with pandas
- Chapter 6: Data Loading, Storage, and File Formats
- Chapter 7: Data Cleaning and Preparation
- Chapter 8: Data Wrangling: Join, Combine, and Reshape
- Chapter 9: Plotting and Visualization
- Chapter 10: Data Aggregation and Group Operations
- Chapter 11: Time Series
- Chapter 12: Advanced pandas
- Chapter 13: Introduction to Modeling Libraries in Python
- Chapter 14: Data Analysis Examples
- Appendix A: Advanced NumPy
- Kevin Sheppard's introduction to statistical analysis with Python also a manuscript to read.

Other resources can be:

- The main NumPy and SciPy documentation.
- Python Scientific Lecture Notes a comprehensive set of tutorials on the scientific Python ecosystem.
- Software Carpentry is an open source course on basic software development skills for people with backgrounds in science, engineering, and medicine.
- Introduction to Statistics an introduction to the basic statistical concepts, combined with a complete set of application examples for the statistical data analysis with Python (by T. Haslwanter).

**For who loves more traditional approaches than Notebooks and require a ”books like” approach**, maybe because it happens that they never programmed before, the first information is the Python site itself. Its Italian counterpart is here.

- They suggests Dive into Python (EN, IT) as a good starting book, and I think it is
- Python Crash course is also a traditional type of book that covers all the traditional element of programming. It is certainly a good book but I would say that its approach does not cope exactly with the modern ‘hip’ approach that a scientist has when using python with more high level infrastructures as Pandas (and partially Numpy and Scipy are) which, for instance often do not require to explicit iterations with “for” loops.
- Think Python (EN, IT) is also an alternative to previous books
- A little different is Thinking in Python, because it is oriented to introduce topics of object oriented (OO) programming which are not usually covered in elementary programming books. Even if OO at its core is to get used to design patterns.

- Python in Hydrology
- Python programming guide for Earth Scientists
- A hands-on introduction to using Python in the Atmospheric and Oceanic sciences

with a preference for the first one.

- Soil Physics with Python: Transport in the Soil-Plant-Atmosphere System, by Bittelli et al, is al, is a book on soil science which is quite appealing (as seen the TOC): the kindle version cost reasonably but it is in Python 2.7. Its Python programs are available here.

## No comments:

## Post a Comment