Goal

Learn how to use Jupyter Notebooks for interactive coding, data exploration, and scientific communication. Notebooks combine code, text, visualizations, and equations in a single document.

Prerequisites

1. Introduction

A Jupyter Notebook is an interactive environment where you run Python code in “cells” and see results immediately. Unlike regular Python scripts, notebooks let you:

  • Write code in small chunks and run them independently
  • Visualize plots and data directly in the notebook
  • Mix code with formatted text (markdown), equations, and images
  • Tell a story with your data analysis
  • Share your work easily (notebooks are just JSON files viewable on GitHub)

Jupyter is widely used in scientific research, data science, and education.

2. Installation and Setup

2.1 Install Jupyter and IPython

Jupyter usually comes with Anaconda/Miniconda. If you need to install it:

pip install jupyter jupyterlab

2.2 Launch Jupyter

From your terminal, navigate to your project directory and run:

jupyter notebook

or for the newer interface:

jupyter lab

Your browser will open to localhost:8888 showing your file browser. If you have VS Code, you can also run notebooks directly in the editor (see X Code Editors and IDEs).

3. Notebook Basics

Creating a New Notebook

  1. Click New button and select Python 3
  2. A new notebook will open with an empty code cell

Cell Types

Code Cells - Contains Python code:

x = 5
y = 3
print(x + y)

Run with Shift+Enter or the ▶ button.

Markdown Cells - Contains formatted text:

# Section Title
This is **bold** text. Here's a [link](https://example.com).

Writing and Organizing Cells

  1. Add a cell: Click the + button in the toolbar
  2. Change cell type: Use the dropdown (Code/Markdown)
  3. Run a cell: Press Shift+Enter (runs and moves to next) or Ctrl+Enter (stays in cell)
  4. Delete a cell: Press D twice

Output and Variables

Variables persist across cells:

Cell 1:

name = "Alice"
age = 25

Cell 2:

print(f"{name} is {age} years old")  # Works! Prints "Alice is 25 years old"

4. Markdown in Notebooks

Use Markdown cells to document your analysis:

# Main Title
 
## Subsection
 
This is regular text with **bold**, *italic*, and `code`.
 
### Lists
- Item 1
- Item 2
 
### Equations (LaTeX)
Inline equation: $E = mc^2$
 
Block equation:
$$
\int_0^{\infty} e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
$$

5. Displaying Plots and Data

Inline Plotting

import matplotlib.pyplot as plt
 
plt.plot([1, 2, 3, 4], [1, 4, 2, 3])
plt.xlabel("X axis")
plt.ylabel("Y axis")
plt.show()

The plot appears directly in the notebook below the cell.

DataFrames

import pandas as pd
 
data = {"Name": ["Alice", "Bob"], "Age": [25, 30]}
df = pd.DataFrame(data)
print(df)  # Displays as a formatted table

6. Magic Commands

Jupyter has special commands (starting with %) for convenience:

# Show execution time
%timeit sum(range(100))
 
# Display plots inline (usually automatic)
%matplotlib inline
 
# Run a Python script
%run my_script.py
 
# List all variables
%whos

7. Keyboard Shortcuts

ShortcutAction
Shift+EnterRun cell and move to next
Ctrl+EnterRun cell and stay
AInsert cell above
BInsert cell below
D, DDelete cell
MChange to Markdown
YChange to Code
Ctrl+/Toggle comment

8. Best Practices

Organize Your Notebook

  1. Start with a markdown cell describing the purpose
  2. Import all libraries at the top
  3. Use markdown cells to separate sections
  4. Add descriptive comments to complex code

Example Structure

[Markdown] Title and Overview
[Code] Import libraries
[Markdown] Data Loading Section
[Code] Load data
[Markdown] Data Exploration
[Code] Visualize data
[Markdown] Analysis
[Code] Perform calculations

Checkpoint: Restart and Run All

Occasionally click Kernel → Restart & Run All to ensure your notebook works from scratch (not relying on out-of-order execution).

9. Sharing and Exporting

Share on GitHub

Just commit your .ipynb file to Git. GitHub renders notebooks directly!

Export to Other Formats

jupyter nbconvert --to html notebook.ipynb
jupyter nbconvert --to pdf notebook.ipynb
jupyter nbconvert --to python notebook.ipynb  # Convert to .py script

10. Troubleshooting

  • Kernel seems stuck? Click Kernel → Interrupt or restart with Kernel → Restart
  • Variables not showing? You might be in the wrong kernel (check top right)
  • Code not running? Make sure you’re in a Code cell, not Markdown
  • Import errors? Make sure the package is installed in your active environment

Next Steps

Now that you can run Python interactively, let’s learn about powerful data and visualization libraries: 11 NumPy and Pandas.