For the official NumPy documentation visit numpy.org/doc/stable.
Below is a curated collection of educational resources, both for self-learning and teaching others, developed by NumPy contributors and vetted by the community.
Beginners
There’s a ton of information about NumPy out there. If you are just starting, we’d strongly recommend the following:
Tutorials
- NumPy Quickstart Tutorial
- NumPy Tutorials A collection of tutorials and educational materials in the format of Jupyter Notebooks developed and maintained by the NumPy Documentation team. To submit your own content, visit the numpy-tutorials repository on GitHub.
- NumPy Illustrated: The Visual Guide to NumPy by Lev Maximov
- SciPy Lectures Besides covering NumPy, these lectures offer a broader introduction to the scientific Python ecosystem.
- NumPy: the absolute basics for beginners
- NumPy tutorial by Nicolas Rougier
- Stanford CS231 by Justin Johnson
- NumPy User Guide
Books
- Guide to NumPy by Travis E. Oliphant This is a free version 1 from 2006. For the latest copy (2015) see here.
- From Python to NumPy by Nicolas P. Rougier
- Elegant SciPy by Juan Nunez-Iglesias, Stefan van der Walt, and Harriet Dashnow
You may also want to check out the Goodreads list on the subject of “Python+SciPy.” Most books there are about the “SciPy ecosystem,” which has NumPy at its core.
Videos
- Introduction to Numerical Computing with NumPy by Alex Chabot-Leclerc
Advanced
Try these advanced resources for a better understanding of NumPy concepts like advanced indexing, splitting, stacking, linear algebra, and more.
Tutorials
- 100 NumPy Exercises by Nicolas P. Rougier
- An Introduction to NumPy and Scipy by M. Scott Shell
- Numpy Medkits by Stéfan van der Walt
- NumPy Tutorials A collection of tutorials and educational materials in the format of Jupyter Notebooks developed and maintained by the NumPy Documentation team. To submit your own content, visit the numpy-tutorials repository on GitHub.
Books
- Python Data Science Handbook by Jake Vanderplas
- Python for Data Analysis by Wes McKinney
- Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy, and Matplotlib by Robert Johansson
Videos
- Advanced NumPy - broadcasting rules, strides, and advanced indexing by Juan Nunez-Iglesias
NumPy Talks
- The Future of NumPy Indexing by Jaime Fernández (2016)
- Evolution of Array Computing in Python by Ralf Gommers (2019)
- NumPy: what has changed and what is going to change? by Matti Picus (2019)
- Inside NumPy by Ralf Gommers, Sebastian Berg, Matti Picus, Tyler Reddy, Stefan van der Walt, Charles Harris (2019)
- Brief Review of Array Computing in Python by Travis Oliphant (2019)
Citing NumPy
If NumPy has been significant in your research, and you would like to acknowledge the project in your academic publication, please see this citation information.