Interactive Computing with Jupyter Notebook

Interactive Computing with Jupyter Notebook

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 2h 17m | 506 MB

Gain hands-on experience in data analysis and visualization with IPython and Jupyter Notebook

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.

Interactive Computing with Jupyter Notebook, 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. This course covers programming techniques: code quality and reproducibility, code optimization, high-performance computing through just-in-time compilation, parallel computing, and graphics card programming.

In short, you will master relatively advanced methods in interactive numerical computing, high-performance computing, and data visualization.

This practical, hands-on course will teach you how to analyze and visualize all kinds of data in Jupyter Notebook.

What You Will Learn

  • Master all features in 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 Jupyter Notebook
  • Write blazingly fast Python programs with NumPy, ctypes, Numba, Cython, OpenMP, GPU programming (CUDA), parallel IPython, Dask, and more
  • Work with the most widely used libraries for data analysis: matplotlib, Seaborn, Bokeh, Altair, and others
Table of Contents

01 The Course Overview
02 Introducing IPython and the Jupyter Notebook
03 Getting Started with Exploratory Data Analysis in the Jupyter Notebook
04 Introducing the Multidimensional Array in NumPy for Fast Array Computations
05 Creating an IPython Extension with Custom Magic Commands
06 Architecture of the Jupyter Notebook
07 Converting a Jupyter Notebook to Other Formats with nbconvert
08 Mastering Widgets in the Jupyter Notebook
09 Creating Custom Jupyter Notebook Widgets in Python, HTML, and JavaScript
10 Configuring the Jupyter Notebook
11 Evaluating the Time Taken by a Command in IPython
12 Profiling Your Code Easily with cProfile and IPython
13 Profiling Your Code Line-by-Line with line_profiler
14 Profiling the Memory Usage of Your Code with memory_profiler
15 Understanding the Internals of NumPy to Avoid Unnecessary Array Copying
16 Processing Large NumPy Arrays with Memory Mapping
17 Using Python to Write Faster Code
18 Accelerating Pure Python Code with Numba and Just-In-Time Compilation
19 Accelerating Array Computations with NumExpr
20 Accelerating Python Code with Cython
21 Releasing the GIL to Take Advantage of Multi-Core Processors
22 Writing Massively Parallel Code for NVIDIA Graphics Cards (GPUs)
23 Distributing Python Code Across Multiple Cores with IPython
24 Interacting with Asynchronous Parallel Tasks in IPython
25 Performing Out-of-Core Computations on Large Arrays with Dask
26 Using Matplotlib Styles
27 Creating Statistical Plots Easily with Seaborn
28 Creating Interactive Web Visualizations with Bokeh and HoloViews
29 Creating Plots with Altair and the Vega-Lite Specification