Learning IPython for Interactive Computing and Data Visualization

IPython mini-book

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:
  • interactive Python programming
  • numerical computing
  • data visualization
  • high performance and parallel computing
Get the book Get the code

Book overview

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.


Contents

Interactive programming

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

Numerical computing

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

Data visualization

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

IPython Notebook

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

Profiling and benchmarking

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

High-performance computing

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.


Reviews

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