更新时间:2021-07-02 16:24:14
coverpage
IPython Interactive Computing and Visualization CookbookSecond Edition
Why subscribe?
PacktPub.com
Contributors
About the author
Packt is Searching for Authors Like You
Preface
Who this book is for
What this book covers
To get the most out of this book
Sections
Get in touch
Chapter 1. A Tour of Interactive Computing with Jupyter and IPython
Introduction
Introducing IPython and the Jupyter Notebook
Getting started with exploratory data analysis in the Jupyter Notebook
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 Jupyter
Chapter 2. Best Practices in Interactive Computing
Learning the basics of the Unix shell
Using the latest features of Python 3
Learning the basics of the distributed version control system Git
A typical workflow with Git branching
Efficient interactive computing workflows with IPython
Ten tips for conducting reproducible interactive computing experiments
Writing high-quality Python code
Writing unit tests with pytest
Debugging code with IPython
Chapter 3. Mastering the Jupyter Notebook
Teaching programming in the Notebook with IPython Blocks
Converting a Jupyter notebook to other formats with nbconvert
Mastering widgets in the Jupyter Notebook
Creating custom Jupyter Notebook widgets in Python HTML and JavaScript
Configuring the Jupyter Notebook
Introducing JupyterLab
Chapter 4. Profiling and Optimization
Evaluating the time taken by a command 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 NumPy
Implementing an efficient rolling average algorithm with stride tricks
Processing large NumPy arrays with memory mapping
Manipulating large arrays with HDF5
Chapter 5. High-Performance Computing
Using Python to write faster code
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 multi-core processors with Cython and OpenMP
Writing massively parallel code for NVIDIA graphics cards (GPUs) with CUDA
Distributing Python code across multiple cores with IPython
Interacting with asynchronous parallel tasks in IPython
Performing out-of-core computations on large arrays with Dask
Trying the Julia programming language in the Jupyter Notebook
Chapter 6. Data Visualization
Using Matplotlib styles
Creating statistical plots easily with seaborn
Creating interactive web visualizations with Bokeh and HoloViews
Visualizing a NetworkX graph in the Notebook with D3.js
Discovering interactive visualization libraries in the Notebook
Creating plots with Altair and the Vega-Lite specification
Chapter 7. Statistical Data Analysis
Exploring a dataset with pandas and Matplotlib
Getting started with statistical hypothesis testing — a simple z-test
Getting started with Bayesian methods
Estimating the correlation between two variables with a contingency table and a chi-squared test
Fitting a probability distribution to data with the maximum likelihood method
Estimating a probability distribution nonparametrically with a kernel density estimation
Fitting a Bayesian model by sampling from a posterior distribution with a Markov chain Monte Carlo method
Analyzing data with the R programming language in the Jupyter Notebook
Chapter 8. Machine Learning
Getting started with scikit-learn
Predicting who will survive on the Titanic with logistic regression
Learning to recognize handwritten digits with a K-nearest neighbors classifier
Learning from text – Naive Bayes for Natural Language Processing
Using support vector machines for classification tasks
Using a random forest to select important features for regression
Reducing the dimensionality of a dataset with a principal component analysis
Detecting hidden structures in a dataset with clustering
Chapter 9. Numerical Optimization
Finding the root of a mathematical function
Minimizing a mathematical function
Fitting a function to data with nonlinear least squares
Finding the equilibrium state of a physical system by minimizing its potential energy
Chapter 10. Signal Processing