4 options
IPython interactive computing and visualization cookbook / Cyrille Rossant.
- Format:
- Book
- Author/Creator:
- Rossant, Cyrille, author.
- Language:
- English
- Subjects (All):
- Python (Computer program language).
- Physical Description:
- 1 online resource (1 v.) : ill.
- Edition:
- 1st edition
- Other Title:
- Over 100 hands-on recipes to sharpen your skills in high-performance numerical computing and data science with Python
- Place of Publication:
- Birmingham, [England] : Packt Publishing, 2014.
- System Details:
- text file
- Biography/History:
- Rossant Cyrille: Cyrille Rossant, PhD, is a neuroscience researcher and software engineer at University College London. He is a graduate of Ecole Normale Superieure, Paris, where he studied mathematics and computer science. He has also worked at Princeton University and College de France. While working on data science and software engineering projects, he gained experience in numerical computing, parallel computing, and high-performance data visualization. He is the author of Learning IPython for Interactive Computing and Data Visualization, Second Edition, Packt Publishing.
- Summary:
- Over 100 hands-on recipes to sharpen your skills in high-performance numerical computing and data science with Python In Detail IPython is at the heart of the Python scientific stack. With its widely acclaimed web-based notebook, IPython is today an ideal gateway to data analysis and numerical computing in Python. IPython Interactive Computing and Visualization Cookbook contains many ready-to-use focused recipes for high-performance scientific computing and data analysis. The first part covers programming techniques, including code quality and reproducibility; code optimization; high-performance computing through dynamic 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. What You Will Learn 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 valuable insights into signals, images, and sounds with SciPy, scikit-image, and OpenCV Learn how to write blazingly fast Python programs with NumPy, PyTables, ctypes, Numba, Cython, OpenMP, GPU programming (CUDA and OpenCL), parallel IPython, MPI, and many more
- Contents:
- Intro
- IPython Interactive Computing and Visualization Cookbook
- Table of Contents
- Credits
- About the Author
- About the Reviewers
- www.PacktPub.com
- Support files, eBooks, discount offers, and more
- Why Subscribe?
- Free Access for Packt account holders
- Preface
- What this book is
- What this book covers
- Part 1 - Advanced High-Performance Interactive Computing
- Part 2 - Standard Methods in Data Science and Applied Mathematics
- What you need for this book
- Installing Python
- GitHub repositories
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code
- Downloading the color images
- Errata
- Piracy
- Questions
- 1. A Tour of Interactive Computing with IPython
- Introduction
- What is IPython?
- A brief historical retrospective on Python as a scientific environment
- What's new in IPython 2.0?
- Roadmap for IPython 3.0 and 4.0
- References
- Introducing the IPython notebook
- Getting ready
- How to do it...
- There's more...
- See also
- Getting started with exploratory data analysis in IPython
- Introducing the multidimensional array in NumPy for fast array computations
- How it works...
- Creating an IPython extension with custom magic commands
- The InteractiveShell class
- Loading an extension
- Mastering IPython's configuration system
- Configurables
- Magics
- Creating a simple kernel for IPython
- 2. Best Practices in Interactive Computing
- Introduction.
- Choosing (or not) between Python 2 and Python 3
- Main differences in Python 3 compared to Python 2
- Python 2 or Python 3?
- Supporting both Python 2 and Python 3
- Using 2to3
- Writing code that works in Python 2 and Python 3
- Efficient interactive computing workflows with IPython
- The IPython terminal
- IPython and text editor
- The IPython notebook
- Integrated Development Environments
- Learning the basics of the distributed version control system Git
- How to do it…
- Creating a local repository
- Cloning a remote repository
- How it works…
- There's more…
- A typical workflow with Git branching
- Stashing
- Ten tips for conducting reproducible interactive computing experiments
- Writing high-quality Python code
- Writing unit tests with nose
- Test coverage
- Workflows with unit testing
- Unit testing and continuous integration
- Debugging your code with IPython
- The post-mortem mode
- Step-by-step debugging
- GUI debuggers
- 3. Mastering the Notebook
- What is the notebook?
- The notebook ecosystem
- Architecture of the IPython notebook
- Connecting multiple clients to one kernel
- Security in notebooks
- Teaching programming in the notebook with IPython blocks
- Converting an IPython notebook to other formats with nbconvert
- How to do it.
- How it works...
- Adding custom controls in the notebook toolbar
- Customizing the CSS style in the notebook
- Using 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
- 4. Profiling and Optimization
- Evaluating the time taken by a statement in IPython
- Profiling your code easily with cProfile and IPython
- Premature optimization is the root of all evil
- Profiling your code line-by-line with line_profiler
- How do to it...
- Tracing the step-by-step execution of a Python program
- Profiling the memory usage of your code with memory_profiler
- Using memory_profiler for standalone Python programs
- Using the %memit magic command in IPython
- Other tools
- Understanding the internals of NumPy to avoid unnecessary array copying
- Why are NumPy arrays efficient?
- What is the difference between in-place and implicit-copy operations?
- Why can't some arrays be reshaped without a copy?
- What are NumPy broadcasting rules?
- See also.
- Using stride tricks with NumPy
- Implementing 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
- 5. High-performance Computing
- CPython and concurrent programming
- Compiler-related installation instructions
- Linux
- Mac OS X
- Windows
- Python 32-bit
- Python 64-bit
- DLL hell
- 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 C
- Releasing the GIL to take advantage of multicore processors with Cython and OpenMP
- Writing massively parallel code for NVIDIA graphics cards (GPUs) with CUDA
- How it works….
- There's more…
- Writing massively parallel code for heterogeneous platforms with OpenCL
- Distributing Python code across multiple cores with IPython
- Dependent parallel tasks
- Alternative parallel computing solutions
- Interacting with asynchronous parallel tasks in IPython
- Parallelizing code with MPI in IPython
- Trying the Julia language in the notebook
- 6. Advanced Visualization
- Making nicer matplotlib figures with prettyplotlib
- Creating beautiful statistical plots with seaborn
- Creating interactive web visualizations with Bokeh
- Visualizing a NetworkX graph in the IPython notebook with D3.js
- Converting matplotlib figures to D3.js visualizations with mpld3
- Getting started with Vispy for high-performance interactive data visualizations
- Vispy for scientific visualization
- 7. Statistical Data Analysis
- What is statistical data analysis?
- A bit of vocabulary
- Exploration, inference, decision, and prediction
- Univariate and multivariate methods
- Frequentist and Bayesian methods.
- Parametric and nonparametric inference methods.
- Notes:
- Includes index.
- "Quick answers to common questions." --Cover.
- Description based on online resource; title from PDF title page (ebrary, viewed October 06, 2014).
- ISBN:
- 9781783284825
- 178328482X
- OCLC:
- 894504558
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.