Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
IPython and Jupyter Notebook In Practice: 3-in-1
Rating: 4.2 out of 5(47 ratings)
412 students

IPython and Jupyter Notebook In Practice: 3-in-1

Use IPython and Jupyter Notebook to sharpen your skills for your data analysis and visualization tasks
Last updated 11/2018
English

What you'll learn

  • Use the IPython notebook to modernize the way you interact with Python
  • Perform highly efficient computations with NumPy and Pandas
  • Optimize your code using parallel computing and Cython
  • 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

Course content

3 sections88 lectures7h 34m total length
  • The Course Overview3:43

    This video will provide you a quick glance over the course, along with the key takeaways.

  • Installing Python with Anaconda7:08

    Off course, before you start coding with a new platform or a new technology, you need to have the right set-up. This video is that starting point for you!

    • Download Anaconda

    • Download the notebooks

    • Test your installation

  • Introducing the Notebook8:34

    Originally, IPython provided an enhanced command-line console to run Python code interactively. The Jupyter Notebook is a more recent and more sophisticated alternative to the console. Let’s go ahead and explore it!

    • Launch the IPython console

    • Launch the Jupyter Notebook

    • Explore the Notebook dashboard

  • A Crash Course on Python9:22

    Now that you are well aware about the Jupyter Notebook and various features of it, let’s not waste time and get our hands dirty!

    • Write your first Python “Hello World!” program

    • Explore the Python features: variables, strings, loops, lists and more

  • More on Python Functionalities10:57

    The previous video was a good start for beginners in Python. Let’s extend the learning by diving deep into few more key features of Python.

    • Use function and arguments

    • Learn about errors and their significance

  • Ten Jupyter/IPython Essentials - I13:49

    Let’s take a step ahead now! In this video, we will cover a few essential features of Jupyter and IPython that make them so useful for interactive computing.

    • Use IPython as an extended shell

    • Learn and use magic commands

    • Master lab completion

  • Ten Jupyter/IPython Essentials - II10:54

    This video is a continuation of the previous video, where you will be able to explore, use and implement a few more amazing features from the Jupyter Notebook.

    • Run Python scripts from IPython

    • Introspect Python objects

    • Profile Python code

  • Exploring a Dataset in the Notebook10:13

    In this video, we will explore a dataset containing the taxi trips made in New York City in 2013.

    • Download and load the dataset

    • Make plots with matplolib

    • Create descriptive statistics with pandas and seaborn

  • Manipulating Data10:24

    Visualizing raw data and computing basic statistics is particularly easy with pandas. All we have to do is choose a couple of columns in a DataFrame and use built-in statistical or visualization functions. Let’s see how to do this!

    • Select data, column, and rows

    • Work with text, dates, and times

    • Handle missing data

  • Complex Operations6:05

    We've seen how to load, select, filter, and operate on data with pandas. In this video, we will show more complex manipulations that are typically done on full-blown databases based on SQL.

    • Implement the group-by operation

    • Combine several tables together using joins

  • A Primer to Vector Computing2:44

    Vector computing is about efficiently performing mathematical operations on numerical arrays. Many problems in science and engineering actually consist of a sequence of such operations. This video introduces and demonstrates the multidimensional array data type for numerical computing.

    • Learn about multidimensional arrays and ndarrays

    • Perform vector operations on ndarrays

    • Find how fast are vector computations in NumPy

  • Creating and Loading Arrays4:45

    In this video, we will see how to create and load NumPy arrays.

    • Create arrays

    • Load arrays from files

  • Basic Array Manipulations4:51

    Now that you are confident about creating and loading arrays, let’s take the next step. Here, we will see some basic array manipulations around multiplication tables.

    • Create an array of integers between 1 and 10

    • Use reshape() and np.dot() functions

    • Compute the multiplication table

  • Computing with NumPy Arrays12:20

    We now get to the substance of array programming with NumPy. We will perform manipulations and computations on ndarrays.

    • Implement selection and indexing

    • Perform filtering operations in NumPy

    • Compute and display a 2D density map

  • Choosing a Plotting Backend4:53

    There are different ways to display a plot in the Jupyter Notebook. Let us see, what should you look for while making while decision.

    • Create inline plots

    • Work with web-based visualization

  • matplotlib and seaborn Essentials8:34

    In this video, we will detail some of the main plotting capabilities of matplotlib, while using the seaborn styling.

    • Import matplotlib and seaborn and activate the inline mode in the Notebook

    • Generate and display a random signal with Matplotlib and plot the graph of a mathematical function

    • Customize matplotlib figures and Interact with matplotlib figures in the Notebook

  • Image Processing4:07

    Several libraries bring image processing capabilities to Python. SciPy, the main scientific Python library, contains a few image processing routines. scikit-image is another library dedicated to image processing. Let’s see how to use these libraries efficiently.

    • Import the essential packages

    • Convert the image to a grayscale image

    • Create a GUI with IPython's @interact decorator

  • Accelerating Python Code with Numba7:34

    When it is too difficult or impossible to vectorize an algorithm, you often need to use Python loops. However, Python loops are slow. Let’s see how Numba comes to the rescue on this issue!

    • Simulate a random walk with jumps

    • Compute a complex mathematical expression on a NumPy array

    • Use the package numpexpr and check the number of detected cores

  • Distributing Tasks on Several Cores with IPython.parallel6:44

    In the previous videos, we covered a few methods to accelerate Python code. Here, we will see how to run multiple tasks in parallel on a multicore computer.

    • Install ipyparallel with conda install ipyparallel

    • Import NumPy and ipyparallel

    • Use direct interface and load-balanced interface

  • Creating a Custom Magic Command1:56

    The Jupyter Notebook is a highly-customizable platform. You can configure many aspects of the software in your configuration files. As a first step, let’s explore how we could create custom magic commands.

    • Import the register_cell_magic function

    • Create a function that takes a line and a cell's contents as its arguments

    • Use the new cell magic

  • Writing a New Jupyter Kernel3:35

    Jupyter supports a wide variety of kernels written in many languages, including the most-frequently used IPython. The Notebook interface lets you choose the kernel for every notebook. This information is stored within each notebook file. In this video, we will detail how to create a custom kernel.

    • Write a wrapper kernel for a language that can be accessed from Python

    • Test the installation of the kernel

  • Displaying Rich HTML Elements in the Notebook5:21

    In this video, we'll show how to display HTML, SVG, and JavaScript elements, notably with the Data-Driven Documents (D3) JavaScript visualization library.

    • Display SVG in the Notebook

    • Display some data with the popular D3 JavaScript visualization library

    • Generate the JavaScript code with IPython

  • Test Your Knowledge

Requirements

  • Knowledge of Python is required, whereas no knowledge of IPython is necessary.

Description

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 constitute an ideal gateway to the platform.

This comprehensive 3-in-1 course is a practical, hands-on, example-driven tutorial to considerably improve your productivity during interactive Python sessions, and shows you how to effectively use IPython for interactive computing, data analysis, and data visualization. You will learn all aspects of of IPython, from the highly powerful interactive Python console to the numerical and visualization features that are commonly associated with IPython. You will also learn high-performance scientific computing and data analysis, from the latest IPython/Jupyter features to the most advanced tricks, to write better and faster code.

This training program includes 3 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Learning IPython for Interactive Computing and Data Visualization, begins with an introduction to Python language, IPython, and Jupyter Notebook. You will then learn how to analyze and visualize data on real-world examples, how to create graphical user interfaces for image processing in Notebook, and how to perform fast numerical computations for scientific simulations with NumPy, Numba, Cython, and ipyparallel.

The second course, Interactive Computing with Jupyter Notebook, covers programming techniques: code quality and reproducibility, code optimization, high-performance computing through just-in-time compilation, parallel computing, and graphics card programming.

The third course, Statistical Methods and Applied Mathematics in Data Science, tackles data science, statistics, machine learning, signal and image processing, dynamical systems, and pure and applied mathematics. You will be well versed with the standard methods in data science and mathematical modeling.

By the end of this course, you will be able to apply these state-of-the-art methods to various real-world examples, illustrating topics in applied mathematics, scientific modeling, and machine learning.

Meet Your Expert(s):

We have the best work of the following esteemed author(s) to ensure that your learning journey is smooth:

  • Cyrille Rossant, PhD, is a neuroscience researcher and software engineer at University College, London. He is a graduate of École Normale Supérieure, Paris, where he studied mathematics and computer science. He has also worked at Princeton University and Collège 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.

Who this course is for:

  • This course is for Python developers, data scientists, and analysts who use Python as a scripting language or for software development, and are interested in learning IPython and Jupyter Notebook for numerical computing and data science.