The mental shift from looping to thinking in arrays, including the shape errors and how to read them.
Before this guide: Python from the Start.
The notebooks
None of these notebooks is written yet. This is the plan, in reading order.
| 1 | Why NumPyThe loop you are about to stop writing | not yet written |
| 2 | Creating ArraysFrom lists, and with zeros, arange and linspace | not yet written |
| 3 | dtypeint64, float64, and the silent overflow that ate your number | not yet written |
| 4 | ShapeDimensions, reshape, and what -1 means | not yet written |
| 5 | Indexing and SlicingAnd the view that shares memory with the array you sliced | not yet written |
| 6 | Boolean MasksFiltering an array without writing a loop | not yet written |
| 7 | Fancy IndexingIndex arrays, and knowing when you got a copy | not yet written |
| 8 | BroadcastingThe rules, and how to read the shape error you just got | not yet written |
| 9 | Vectorized MathUniversal functions, and elementwise thinking | not yet written |
| 10 | Aggregationsum, mean, min, max, and what they collapse | not yet written |
| 11 | The axis ArgumentThe single most misunderstood parameter in the library | not yet written |
| 12 | Random NumbersGenerator, seeds, and results somebody else can reproduce | not yet written |
| 13 | Linear Algebramatmul, solve, the @ operator, and least squares | not yet written |
| 14 | PerformanceWhy vectorized is faster, measured rather than asserted | not yet written |