SciPy is a collection of open source code libraries for math, science and engineering. NumPy, Matplotlib and pandas are libraries that fall under the SciPy project umbrella.
NumPy (source code) is a Python code library that adds scientific computing capabilities such as N-dimensional array objects, FORTRAN and C++ code integration, linear algebra and Fourier transformations. NumPy serves as a required dependency for many other scientific computing packages such as pandas.
Blaze is a similar, but separate, ecosystem with additional tools for wrangling, cleaning, processing and analyzing data.
Take a look at the pages on Matplotlib and pandas for tutorials specific to those projects. The following resources are broader walkthroughs for the SciPy ecosystem:
SciPy Lecture notes goes into the overall Python scientific computing ecosystem and how to use it.
The SciPy Cookbook contains instructions for various SciPy packages that were previously hosted on the SciPy wiki.
Lectures in Quantitative Economics: SciPy provides a good overview of SciPy compared to the specific NumPy project, as well as explanations for the wrappers SciPy provides over lower-level FORTRAN libraries.
A plea for stability in the SciPy ecosystem presents concerns from one scientist's perspective about how fast the Python programming ecosystem changes and that code can become backwards incompatible in only a few years. The issue is that many science projects last decades and therefore cannot follow the rate of change as easily as typical software development projects.
From Python to NumPy is an awesome resource that shows how to use your basic Python knowledge to learn how to do vectorization with NumPy.
The ultimate beginner's guide to NumPy explains how to install and import NumPy, then digs into using arrays for computation and how to perform operations that get the results you need for your data analysis.
Python NumPy Array Tutorial is a starter tutorial specifically focused on using and working with NumPy's powerful arrays.
Beyond Numpy Arrays in Python is a predecessor to a Numpy Enhancement Proposal that recommends how to prepare the scientific computing ecosystme for GPU, distributed and sparse arrays.
Probability distribution explorer contains graphs for understanding how different probabilities look when plotted. There is also code for implementing the visuals in NumPy and SciPy.
SmoothLife is an implementation of Conway's Game of Life using NumPy. The project uses a continuous space rather than the traditional discrete board.
Advanced Numpy Techniques is a Jupyter Notebook with code on beyond-the-basics NumPy features.