**Learning IPython for Interactive Computing and Data Visualization**, by Cyrille Rossant, Packt Publishing, 2013.

This book targets developers, students, teachers, hobbyists who already know Python, and want to learn IPython for the extended console, the Notebook, and more advanced scientific applications. It covers:

Get the book
Get the code
- interactive Python programming
- numerical computing
- data visualization
- high performance and parallel computing

This book is a **beginner-level introduction to IPython** for interactive Python programming, high-performance numerical computing, and data visualization. It assumes nothing more than familiarity with Python. It targets developers, students, teachers, hobbyists who know Python a bit, and who want to learn IPython for the extended console, the Notebook, and for more advanced scientific applications.

The book first introduces IPython for interactive Python and shell programming. It shows how IPython can considerably improve the productivity of a developer who creates, debugs, benchmarks and profiles Python code.

Then, the reader learns the very basics of vector computing, and discovers how to load and analyze numerical and tabular data with NumPy and Pandas. The book shows the interactive visualization capabilities of the platform with Matplotlib, SciPy and PIL. It also contains a few image processing examples.

Some techniques to accelerate Python code are also demonstrated, using either interactive parallel computing features from IPython (using MPI or not), or Cython to compile a portion of the code in C for really interesting speedups.

Finally, the book shows how IPython can be customized for advanced uses, notably with the creation of new extensions and magic commands.

Increase your productivity when you create, debug, benchmark and profile Python code in an interactive session.

Learn the basics of vector computing, and discover how to load and analyze numerical or tabular data with NumPy and Pandas.

Create interactive data visualizations with Matplotlib, and implement image processing algorithms with SciPy and PIL.

Learn how to use the Notebook as a modern tool for reproducible interactive programming with Python.

Learn how to profile and benchmark your code with IPython to find where to optimize.

Accelerate your code using IPython's interactive parallel computing features, and compile a portion of your code in C with Cython for really interesting speedups.

Excellent introduction to IPython workflows for scientific computation.

Dan Goodman

Great introduction to IPython. (...) Definitely worth buying.

Amit Saha

This book is a must for who would like to use Python for scientific applications.

Francesco Grigoli