The author is a scientist, and this text is for science and engineering students who want to learn Python. It covers Python well using many science-based examples. While the book does not explain the science, it does include the appropriate formulas and Python code, using libraries where appropriate. This is an excellent approach to teaching Python while also motivating science and engineering students.

The book’s chapters cover core Python, simple plots, IPython and Jupyter notebook, NumPy, Matplotlib, SciPy, data analysis with pandas, and general scientific programming. Most sections end with questions and programming exercises. Each chapter has many examples, most with Python code listings. The examples are also available on the book’s website, along with explanations and code. Each example’s code may be copied and run, but there does not seem to be a download for all the examples together. Links are always given for the data files used in the examples.

This second edition includes a new chapter, “Data Analysis with pandas,” which includes treatment of DataFrames and the important topic of data cleaning and exploration. The last section is devoted to two examples: nuclear explosions and volcanic eruptions. A new appendix covers SciPy’s ordinary differential equation (ODE) solver. Other chapters include updates. For example, chapter 6, “NumPy,” has two new examples (out of 23), simulating radioactive decay and visualizing linear transformations, while chapter 8, “SciPy,” has three (out of 27): solving a system of stiff ODEs, a projectile with air resistance, and the Newton fractal.

*Learning scientific programming with Python* is an outstanding text. It is very readable, with many well-explained examples and code that works.

More reviews about this item: Amazon