This list is comprised of sources i have actually read/studied. I do not recommend all of them, but i’ve indicated which ones i do recommend within the annotations provided after the citation for each source. The few that i refer to most often.


Stephen Marsland, Machine Learning: An Algorithmic Perspective

  • Superb. All of the algorithms in the book (except for SVM) are implemented in code, and every implementation is in NumPy. This code is available free at Prof. Marsden’s Site for the Book. Awesome NumPy tutorial. (The book also includes a brief NumPy tutorial in an appendix.)

Hans Peter Langtangen, Python Scripting for Computational Science

  • The online version of this book is avaialable for free download at the Autor’s Site; the source code is likewise made available free of charge.

Hans Peter Langtangen, A Primer on Scientific Programming with Python

  • the only source mentioned here that i have not read; included it just because there is another book in my List by the same author on the same subject.

Perry Greenfield and Robert Jedrzejewski, Using Python for Interactive Data Analysis

  • Available for free download; the intended audience is graduate students in astronomy or astrophysics, but that limits this text’s usefulness to non-astronomers only slightly.

Jaan Kiusalaas, Numerical Methods in Engineering with Python

  • available for free download, by the way, on [Google Code]

  • All three of the previous books (i haven’t read A Primer on Scientific Computing) are significantly better than Kiusalaas' Numerical Methods in Engineering with Python, particularly if the axis of comparison is value as a NumPy learning resource–many of the examples in Kiusalaas are not even implemented in NumPy (but clearly could be); morevoer, the explanation that accompanies the implementations in the first three books i mentioned in each case, is a discernible level above what’s in the Kiusalaas book.

Smaller Sources

NumPy MedKit by Stefan van der Walt

  • presentation (slides) given at a Python conference (at least) a few years ago–brief, but very good


The ActiveState Python Cookbook

Single-Subject Tutorials

Broadcasting in NumPy

  • An excellent and short tutorial (that still includes a practical example) on Broadcasting in NumPy, which is one of the five or six most important topics in NumPy.

Albert Yeung, Matrix Factorisation: a Simple Tutorial and Implementation in Python

Desktop References

Tentative NumPy Tutorial

  • The Tentative NumPy Tutorial is excellent--the emphasis is on NumPy’s multiple indexing techniques, which is in many ways the crux of NumPy.

NumPy Example List

  • NumPy Example List is just a list of 400+ NumPy functions listed alphabetically, annotated with at least one short code example (usually several) taken from the function’s doc strings. This is an_excellent_* source to keep open while coding.

NumPy Functions by Category

  • the same material as in the source just above except aggregated by category

NumPy Cookbook

  • Most of these 50 recipes are directed to particular techniques in a particular technique used in a given domain (e.g., signal processing) though a few are much more general, including the excellent tutorials on Building Arrays and Indexing (the first two recipes in the Cookbook)

2down vote

I recommend Guide to NumPy

2down vote

Numerical Methods in Engineering with Python Jaan Kiusalaas. This book describes how to use Python and NumPy to solve real problems.

Python Scientific lecture notes Emmanuelle Gouillart, Gaël Varoquaux

MATLAB commands in numerical Python (NumPy) Vidar Bronken Gundersen

The ‘Python Scientific Lecture Notes’ have now an official home on the net: where they will get updates as we teach more courses using them. – Gael Varoquaux Jan 12 ‘11 at 14:09

I also wrote a very short tutorial named NumPy: Lock ‘n Load to get people started.