Welcome to Scientific Python and its community! With this practical book, you'll learn the fundamental parts of SciPy and related libraries, and get a taste of beautiful, easy-to-read code that you can use in practice. More and more scientists are programming, and the SciPy library is here to help.
"Finding" useful functions and "using" them correctly, efficiently, and in easily readable code are two very different things. You'll learn by example with some of the best code available, selected to cover a wide range of SciPy and related libraries including scikit-learn, scikit-image, toolz, and pandas.
The examples highlight clever, elegant uses of advanced features of NumPy, SciPy, and related libraries. Beginners will learn not the functionality of the library, but its application to real world problems. This book starts from first principles and provides all of the necessary background to understand each example, including idioms, libraries, and scientific concepts."
This book is a rare collection of lessons/examples on subjects you don't need until you need them.
While working on some rapid Covid-19 PCR testing systems with some poor signal characteristics, I remembered using Quantile Normalization in a previous project. It was 20+ years ago, and I couldn't remember the implementation. I was close to just writing one from scratch, and I picked up this book, and here it was. I have used Fourier analysis for decades, and how to use it in Python is here too.
Given the value of all the chapters in this book when using machine learning libraries from Python, I cannot recommend this book highly enough.
If I was a literary critic instead of a programmer I wouldn’t give this short but fascinating book five stars. Fortunately, for the authors I judge programming books on how much, or how little, they disturb my thought processes. Elegant SciPy has already changed how I tackle some problems and as I tear the book’s code apart its influence will only grow.
Even more important than the topics the authors discuss is how they discussed it. This is the first Jupyter Notebook book I have read. If you don’t know what a Jupyter Notebook is look it up. It’s simply the correct way to present technical subjects that reference large amounts of program code, complex graphics, text, and mathematics. You can look up each chapter of Elegant SciPy in notebook form and execute every single example. This is vastly superior to what I contemptuously describe as “screen dump” programming books.
Many years ago I observed that you don’t read mathematics books: you rewrite them. Similarly, you don’t read programming books, you refactor them. The Jupyter Notebook dramatically accelerates refactoring.
I've seen it before, but not very often. It's where a build system is used for a programming book so that all the examples that appear in the book are actually compiled, run and tested, thereby ensuring that there are no programming typos in the finished book. Python doesn't have a compile step (of course) but this book is compiled and run from source.
That means a different reading experience as a developer. If you don't know the language well, it's hard to tell whether something's a typo, or syntax you haven't yet learned. If you DO know the language, syntax typos are irritating.
With this book the program examples are pre-tested. No sloppiness here.
I was a little disappointed about this. I had hoped it would give a good overview of `Scipy`, but instead, it is a bunch of examples that use it. It is not that the examples aren't interesting. They are. They just drown out features of `Scipy`, so I didn't learn much about that.
If you do not have to solve the specific problems that the examples cover, I am not sure how much you have learnt that you can apply to your own problems. I think the overview of `Numpy` is good and I learned a little in the chapter on space matrices, but I think that is all.