IPython Interactive Computing and Visualization Cookbook - Second Edition: Over 100 hands-on recipes to sharpen your skills in high-performance ... and data science in the Jupyter Notebook
Learn to use IPython and Jupyter Notebook for your data analysis and visualization work.
- Leverage the Jupyter Notebook for interactive data science and visualization
- Become an expert in high-performance computing and visualization for data analysis and scientific modeling
- A comprehensive coverage of scientific computing through many hands-on, example-driven recipes with detailed, step-by-step explanations
Python is one of the leading open source platforms for data science and numerical computing. IPython and the associated Jupyter Notebook offer efficient interfaces to Python for data analysis and interactive visualization, and they constitute an ideal gateway to the platform.
IPython Interactive Computing and Visualization Cookbook, Second Edition contains many ready-to-use, focused recipes for high-performance scientific computing and data analysis, from the latest IPython/Jupyter features to the most advanced tricks, to help you write better and faster code. You will apply these state-of-the-art methods to various real-world examples, illustrating topics in applied mathematics, scientific modeling, and machine learning.
The first part of the book covers programming techniques: code quality and reproducibility, code optimization, high-performance computing through just-in-time 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
- Master all features of the Jupyter Notebook
- Code better: write high-quality, readable, and well-tested programs; profile and optimize your code; and conduct reproducible interactive computing experiments
- Visualize data and create interactive plots in the Jupyter Notebook
- Write blazingly fast Python programs with NumPy, ctypes, Numba, Cython, OpenMP, GPU programming (CUDA), parallel IPython, Dask, and more
- Analyze data with Bayesian or frequentist statistics (Pandas, PyMC, and R), and learn from actual data through machine learning (scikit-learn)
- Gain valuable insights into signals, images, and sounds with SciPy, scikit-image, and OpenCV
- Simulate deterministic and stochastic dynamical systems in Python
- Familiarize yourself with math in Python using SymPy and Sage: algebra, analysis, logic, graphs, geometry, and probability theory
Who This Book Is For
This book is intended for anyone interested in numerical computing and data science: students, researchers, teachers, engineers, analysts, and hobbyists. A basic knowledge of Python/NumPy is recommended. Some skills in mathematics will help you understand the theory behind the computational methods.
Table of Contents
- A Tour of Interactive Computing with Jupyter and IPython
- Best Practices in Interactive Computing
- Mastering the Jupyter Notebook
- Profiling and Optimization
- High-Performance Computing
- Data Visualization
- Statistical Data Analysis
- Machine Learning
- Numerical Optimization
- Signal Processing
- Image and Audio Processing
- Deterministic Dynamical Systems
- Stochastic Dynamical Systems
- Graphs, Geometry, and Geographic Information Systems
- Symbolic and Numerical Mathematics