IPython Interactive Computing and Visualization Cookbook.

With its widely acclaimed web-based notebook, IPython is an ideal gateway to data analysis and numerical computing in Python. This book contains many ready-to-use focused recipes for high-performance scientific computing and data analysis. You will learn how to: code better by writing high-quality,...

Full description

Saved in:
Bibliographic Details
Main Author: Rossant, Cyrille
Format: Electronic eBook
Language:English
Published: Packt Publishing, 2014.
Subjects:
Online Access: Full text (Wentworth users only)
Table of Contents:
  • Cover; Copyright; Credits; About the Author; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: A Tour of Interactive Computing with IPython; Introduction; Introducing the IPython notebook; Getting started with exploratory data analysis in IPython; Introducing the multidimensional array in NumPy for fast array computations; Creating an IPython extension with custom magic commands; Mastering IPython''s configuration system; Creating a simple kernel for IPython; Chapter 2: Best Practices in Interactive Computing; Introduction.
  • Choosing (or not) between Python 2 and Python 3Efficient interactive computing workflows with IPython; Learning the basics of the distributed version control system Git; A typical workflow with Git branching; Ten tips for conducting reproducible interactive computing experiments; Writing high-quality Python code; Writing unit tests with nose; Debugging your code with IPython; Chapter 3: Mastering the Notebook; Introduction; Teaching programming in the notebook with IPython blocks; Converting an IPython notebook to other formats with nbconvert; Adding custom controls in the notebook toolbar.
  • Customizing the CSS style in the notebookUsing interactive widgets
  • a piano in the notebook; Creating a custom JavaScript widget in the notebook
  • a spreadsheet editor for pandas; Processing webcam images in real time from the notebook; Chapter 4: Profiling and Optimization; Introduction; Evaluating the time taken by a statement in IPython; Profiling your code easily with cProfile and IPython; Profiling your code line-by-line with line_profiler; Profiling the memory usage of your code with memory_profiler; Understanding the internals of NumPy to avoid unnecessary array copying.
  • Using stride tricks with NumPyImplementing an efficient rolling average algorithm with stride tricks; Making efficient array selections in NumPy; Processing huge NumPy arrays with memory mapping; Manipulating large arrays with HDF5 and PyTables; Manipulating large heterogeneous tables with HDF5 and PyTables; Chapter 5: High-performance Computing; Introduction; Accelerating pure Python code with Numba and Just-In-Time compilation; Accelerating array computations with Numexpr; Wrapping a C library in Python with ctypes; Accelerating Python code with Cython.
  • Optimizing Cython code by writing less Python and more CReleasing the GIL to take advantage of ; multi-core processors with Cython and OpenMP; Writing massively parallel code for NVIDIA graphics cards (GPUs) with CUDA; Writing massively parallel code for heterogeneous platforms with OpenCL; Distributing Python code across multiple cores with IPython; Interacting with asynchronous parallel tasks in IPython; Parallelizing code with MPI in IPython; Trying the Julia language in the notebook; Chapter 6: Advanced Visualization; Introduction; Making nicer matplotlib figures with prettyplotlib.