Jupyter Notebooks
The interactive computing environment where data analysts and scientists write code, run it, and see the results — all in the same document.
What it is
About Jupyter Notebooks
Jupyter Notebooks combine code, output, visualisations, and narrative text in a single document divided into cells. A data analyst writes a Python cell to load a CSV file, runs it and sees the first 10 rows immediately below, writes the next cell to clean the data, runs that, and continues building the analysis iteratively — without ever losing context or switching between a script file and a console. The notebook document captures the full analytical narrative: the code, the output it produced, and the markdown explanation of what the analyst was thinking and finding. This makes Jupyter the dominant environment for exploratory data analysis, building and evaluating machine learning models, and communicating analytical work to technical colleagues. JupyterLab is the modern successor to the classic Notebook interface, adding a full IDE-like layout with a file browser, multiple notebooks side by side, and a terminal. Google Colab extends the model to the cloud — providing free GPU and TPU access for machine learning, shareable notebooks that run in any browser without local installation, and integration with Google Drive. Databricks Notebooks are the enterprise equivalent for teams running Spark-based data pipelines at scale. The notebook paradigm is now the default environment for data science, replacing standalone Python scripts for most analytical work.
What you can do with it
Capabilities
Load a 500,000-row CSV into a pandas DataFrame, run `df.info()` and `df.describe()` to understand the data shape and distributions, and use `df.isnull().sum()` to identify missing value patterns — all in consecutive cells with the output rendered inline
Build an exploratory analysis notebook with markdown headings dividing it into sections (Data Loading, Cleaning, Analysis, Conclusions), so a colleague can follow the analytical logic without reading a single line of code
Create a matplotlib subplot grid showing distributions of five key variables side by side, export the figure as a 300dpi PNG for a stakeholder presentation, and save the notebook with all outputs embedded so it renders correctly without re-running
Run a Jupyter notebook on Google Colab with a GPU runtime to train a scikit-learn model on a dataset that would take 20 minutes locally — completing the run in 3 minutes and downloading the trained model file
Convert a Jupyter notebook to a clean HTML report using `jupyter nbconvert --to html` and send it as a standalone self-contained file that renders in any browser with all charts and tables intact
How to learn it
Learning Resources
Jupyter's official documentation "Try Jupyter" at jupyter.org/try — runs a live notebook in the browser without any installation; the best first step is running each cell and modifying the code to see what changes
DataCamp's free "Introduction to Jupyter Notebooks" tutorial — covers the interface, cell types, and keyboard shortcuts in under an hour
Google Colab (colab.research.google.com) — open any notebook from the Colab sample library and run it immediately; the fastest way to understand the notebook model without setting up a local environment
Kaggle's free Python course at kaggle.com/learn — all exercises run in Kaggle Notebooks, teaching Python and pandas in the notebook environment simultaneously
Pro Tip
Restart the kernel and run all cells before sharing or submitting a notebook. Notebooks preserve cell output even when cells are run out of order, which means a notebook that looks correct may produce different results when run top-to-bottom on another machine. "Restart and Run All" is the only way to verify the notebook is reproducible — and a non-reproducible analysis notebook is a liability, not an asset.
Skills that use this tool
Roles that use this tool
Alternatives