Jupyter

Language: Python

Data Science

Jupyter originated from the IPython project in 2014 to support interactive computing across multiple languages (Julia, Python, R – hence the name Ju-Py-R). It has become a standard tool for data analysis, scientific research, and education, allowing users to combine code execution, rich text, and visualizations in a single environment.

Jupyter is an open-source project that provides interactive notebooks for creating and sharing documents that contain live code, equations, visualizations, and narrative text.

Installation

pip: pip install notebook
conda: conda install -c conda-forge notebook

Usage

Jupyter Notebooks allow you to write and execute code in cells, interleave documentation and results, and visualize data interactively. Notebooks can be exported to various formats including HTML, PDF, and slideshows.

Starting Jupyter Notebook

# Terminal command:
jupyter notebook

Starts the Jupyter Notebook server and opens a web interface in your default browser.

Creating a new notebook

From the Jupyter web interface, click 'New' → 'Python 3' to create a new notebook.

Creates a notebook where you can write Python code in cells and execute them interactively.

Running code cells

a = 10
b = 20
a + b

Write Python code in a cell and press Shift+Enter to execute it; the output is displayed directly below the cell.

Markdown cells

Use Markdown to write formatted text, equations using LaTeX, or headings in a notebook cell.

You can create rich documentation alongside code to explain analysis, show results, or provide instructions.

Interactive visualizations

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,10,100)
y = np.sin(x)
plt.plot(x,y)
plt.show()

Plots interactive graphs directly in the notebook using Matplotlib.

Exporting notebooks

# Terminal command:
jupyter nbconvert --to html notebook.ipynb

Converts a notebook to an HTML file for sharing or publication.

Using Jupyter with other kernels

Install additional kernels for R, Julia, or other languages to use them in Jupyter notebooks.

Jupyter supports multiple programming languages via kernels, making it versatile for different computational tasks.

Error Handling

Kernel dies or disconnects: Restart the kernel and check for infinite loops or excessive memory usage.
ModuleNotFoundError: Ensure required packages are installed in the environment used by the notebook kernel.
Notebook not opening: Check that the Jupyter server is running and accessible via the browser, and verify firewall/network settings.

Best Practices

Keep notebooks organized with clear headings and markdown explanations.

Use version control for notebooks with tools like nbdime to track changes.

Break complex computations into multiple cells for clarity and testing.

Leverage widgets and interactive libraries (like ipywidgets) for interactive dashboards.

Regularly restart the kernel and rerun all cells to ensure reproducibility.