Jupyter Notebook (sometimes called IPython Notebook) is a popular way to write and run Python, R, or Julia code, especially for data analysis, data science and machine learning. Jupyter Notebooks are easy-to-use because they let you execute code and review the output quickly. This iterative process is central to data analytics and makes it easy to test hypotheses and record the results (just like a notebook).
Integrated Development Environment (IDE)
Jupyter Notebook is a type of Integrated Development Environment (IDE). IDEs are places to write code that offer some supportive features. Almost all IDEs provide syntax highlighting, debugging, and code completion. Jupyter Notebook also offers embedded help documentation and introspection (i.e., you can check each command’s parameters) and in-line display of charts and images.
Front-end and Back-end
A Jupyter Notebook has two parts:
- The front-end interface
- The back-end kernel
The front-end interface loads in a web browser and consists of “cells” where you enter your code. The browser is just for display, so you do not need to be connected to the internet.
Jupyter Notebook uses a back-end kernel called IPython. The ‘I’ stands for ‘Interactive’, which means that a program or script can be broken up into smaller pieces, and those pieces can be run independently from the rest of the program.
- Data Cleaning and Transformation
- Numerical Simulation
- Statistical Modeling
- Data Visualization
- Machine Learning
- And more!
While users interactively author .ipynb notebooks in their preferred browser, standard install instructions allow Jupyter to run on one’s local machine, not on the web. By default, a notebook server runs locally at http://localhost:8888.