IPython Interactive Computing and Visualization Cookbook
Publisher: Packt Publishing
Published: 2014
Language: eng
Number of pages: 512
ISBN-13: 9781783284825; 9781322166223; 9781783284818
Subjects: Python (Computer program language); Python (Langage de programmation); COMPUTERS; General
Description: 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, readable, and well-tested programs; profiling and optimizing your code, and conducting reproducible interactive computing experiments; master all of the new features of the IPython notebook, including the interactive HTML/JavaScript widgets; analyze data with Bayesian and frequentist statistics (Pandas, PyMC, and R), and learn from data with machine learning (scikit-learn); gain insight into signals, images, and sounds with SciPy, scikit-image, and OpenCV; write blazingly fast Python programs with NumPy, PyTables, ctypes, Numba, Cython, OpenMP, GPU programming (CUDA and OpenCL), parallel IPython, MPI, and many more. --
Notes: English.
Table of contents: title: 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.; title: 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.; title: Customizing the CSS style in the notebookUsing interactive widgets; title: a piano in the notebook; Creating a custom JavaScript widget in the notebook; title: 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.; title: 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.; title: 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.