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. If you’re a scientist who programs with Python, this practical guide not only teaches you the fundamental parts of SciPy and libraries related to it, but also gives you a taste for beautiful, easy-to-read code that you can use in practice. You’ll learn how to write elegant code that’s clear, concise, and efficient at executing the task at hand.

Throughout the book, you’ll work with examples from the wider scientific Python ecosystem, using code that illustrates principles outlined in the book. Using actual scientific data, you’ll work on real-world problems with SciPy, NumPy, Pandas, scikit-image, and other Python libraries.

Explore the NumPy array, the data structure that underlies numerical scientific computation Use quantile normalization to ensure that measurements fit a specific distribution Represent separate regions in an image with a Region Adjacency Graph Convert temporal or spatial data into frequency domain data with the Fast Fourier Transform Solve sparse matrix problems, including image segmentations, with SciPy’s sparse module Perform linear algebra by using SciPy packages Explore image alignment (registration) with SciPy’s optimize module Process large datasets with Python data streaming primitives and the Toolz library

282 pages, Kindle Edition

Published August 11, 2017

Loading...
Loading...

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.
146 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 book2 followers
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.
40 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 37 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