Jump to ratings and reviews
Rate this book

Elegant SciPy: The Art of Scientific Python

Rate this book
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."

275 pages, Paperback

Published September 26, 2017

38 people are currently reading
104 people want to read

About the author

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
8 (33%)
4 stars
5 (20%)
3 stars
8 (33%)
2 stars
3 (12%)
1 star
0 (0%)
Displaying 1 - 4 of 4 reviews
Profile Image for Randy.
145 reviews49 followers
December 19, 2020
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.

It is not a version of it's (partial) namesake Effective C++: 55 Specific Ways to Improve Your Programs and DesignsEffective C++: 55 Specific Ways to Improve Your Programs and Designs because it's not a "design" book.

However, if you are writing your own version of something in SciPy without looking at its implementation, you might be missing something.
Profile Image for John.
Author 1 book1 follower
April 3, 2018
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.
Profile Image for Malcolm Gorman.
37 reviews
October 14, 2017
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.

Here's the source for the book: https://github.com/elegant-scipy/eleg...
Profile Image for Thomas Mailund.
Author 38 books16 followers
October 5, 2018
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.
Displaying 1 - 4 of 4 reviews

Can't find what you're looking for?

Get help and learn more about the design.