Robert Johansson, Numerical Python: Scientific Computing and Data Science Applications with NumPy, SciPy and Matplotlib, 3rd edition (Apress).