IPython Cookbook, Second Edition IPython Interactive Computing and Visualization Cookbook, Second Edition (2018), by Cyrille Rossant, contains over 100 hands-on recipes on high-performance numerical computing and data science in the Jupyter Notebook.

Most of the book is freely available on this website (CC-BY-NC-ND license).

Get the code as Jupyter notebooks
Get the Google Chrome extension to see LaTeX equations on GitHub
Buy the book

Contents

Chapter 1 : A Tour of Interactive Computing with Jupyter and IPython

Chapter 2 : Best practices in Interactive Computing

Chapter 3 : Mastering the Jupyter Notebook

Chapter 4 : Profiling and Optimization

Chapter 5 : High-Performance Computing

Chapter 6 : Data Visualization

Chapter 7 : Statistical Data Analysis

Chapter 8 : Machine Learning

Chapter 9 : Numerical Optimization

Chapter 10 : Signal Processing

Chapter 11 : Image and Audio Processing

Chapter 12 : Deterministic Dynamical Systems

Chapter 13 : Stochastic Dynamical Systems

Chapter 14 : Graphs, Geometry, and Geographic Information Systems

Chapter 15 : Symbolic and Numerical Mathematics

Recipes marked with an asterisk * are only available in the book.

Contributing

For any comment, question, or error, please open an issue or propose a pull request.

Presentation

Python is one of the leading open source platforms for data science and numerical computing. IPython and the associated Jupyter Notebook offer efficient interfaces to Python for data analysis and interactive visualization, and they constitute an ideal gateway to the platform.

IPython Interactive Computing and Visualization Cookbook, Second Edition contains many ready-to-use, focused recipes for high-performance scientific computing and data analysis, from the latest IPython/Jupyter features to the most advanced tricks, to help you write better and faster code. You will apply these state-of-the-art methods to various real-world examples, illustrating topics in applied mathematics, scientific modeling, and machine learning.

The first part of the book covers programming techniques: code quality and reproducibility, code optimization, high- performance computing through just-in-time compilation, parallel computing, and graphics card programming. The second part tackles data science, statistics, machine learning, signal and image processing, dynamical systems, and pure and applied mathematics