A gallery of interesting Jupyter Notebooks
Last updated
Was this helpful?
Last updated
Was this helpful?
This page is a curated collection of Jupyter/IPython notebooks that are notable. Feel free to add new content here, but please try to only include links to notebooks that include interesting visual or technical content; this should not simply be a dump of a Google search on every ipynb file out there.
Important contribution instructions: If you add new content, please ensure that for any notebook you link to, the link is to the rendered version using , rather than the raw file. Simply paste the notebook URL in the nbviewer box and copy the resulting URL of the rendered version. This will make it much easier for visitors to be able to immediately access the new content.
Note that has conveniently written a set of to make it a one-click affair to load a Notebook URL into your browser of choice, directly opening into nbviewer.
These are notebooks that use [one of the IPython kernels for other languages](IPython kernels for other languages):
Coursework using IJulia notebooks:
Other collections of IJulia notebooks:
Toward Data Science blogs:
Of course the first thing you might try is searching for videos about IPython (1900 or so by last count on Youtube) but there are demonstrations of other applications using the power of IPython but are not mentioned is the descriptions. Below are a few such:
First things first, how to . There is also a general from IPython. Another useful one from this collection is an explanation of our .
A , part of the fantastic by .
The code of the by C. Rossant, introducing IPython, NumPy, SciPy, Pandas and matplotlib for interactive computing and data visualization.
by
, an entire course, based on forthcoming book published by Taylor and Francis; book title: "Automata and Computability: Programmer's Perspective", by Ganesh Gopalakrishnan, Professor, School of Computing, University of Utah, Salt Lake City. [in English, has Youtube videos]
, an entire introductory Python course written by . explains the educational context in an Alaskan high school where Eric is a teacher.
A series of notebooks created to help educate aspiring computer programmers and data scientists of all ages with no previous programming experience.
, a complete book on Python programming by . Note the book also exists ,
. Recitations from Tel-Aviv University introductory course to computer science, assembled as IPython notebooks by .
, a set of 15 Notebooks that cover exploratory computing, data analysis, and visualization. No prior programming knowledge required. Each Notebook includes a number of exercises (with answers) that should take less than 4 hours to complete. Developed by Mark Bakker for undergraduate engineering students at the Delft University of Technology.
, from the course by .
, a collection of algorithmic and data structure exercises covering search and sorting algorithms, stacks, queues, linked lists, graphs, backtracking and greedy problems.
, by .
(): Textbook for beginners, broken into one Jupyter Notebook per chapter. Can be using Binder.
, a notebook which explains the implementation of Linear Regression from scratch, by , author and editor at .
, this notebook explain the important library used in data science, by , author and editor at .
, a notebook which explains scraping the data from the internet from scratch, by , author and editor at .
, a notebook which explains the steps to perform Exploratory data Analysis in python from the scratch, by , author and editor at .
developed for the by , Vinzenz Eck and Jacob T. Sturdy.
, a collection of notebooks by to accompany the book.
, a Date Science notebook which clearly explains Data Cleaning using Python with Pandas Library at a beginner level, by .
, a collection of notebooks accompanying the , by .
, as well as extra material on other tools from the scipy stack, by .
: a complete course by Verena Kaynig-Fittkau and Pavlos Protopapas from Harvard, with all lecture materials and homework sets as notebooks.
, this is just chapter 1 in an ongoing book titled , by .
: Python/PyMC3 code for a selection of models and figures from the book 'Doing Bayesian Data Analysis: A Tutorial with R, JAGS, and Stan', Second Edition, by John Kruschke (2015).
, an entire self-directed course by .
by , a comprehensive guide to Python for Data Science. The code of the 100 recipes is available on .
() by and .
.
, part of the UC Berkeley 2014 course taught by .
, part of a collection on by .
, part of an , by .
by .
The has two excellent collections of examples: and . Too many there to directly duplicate here, but they provide great learning materials on statistical modeling with Python.
. This is a complete service that includes a ready-to-run IPython instance with a collection of notebooks illustrating the use of the . Just log in and start running the examples.
, an introductory collection from the .
, one of a set on tutorials on exploratory data analysis with the by /
, part of a complete by .
, an illustration of the , that also includes and . By .
, one of the homework sets for Harvard's .
The classic by James, Witten, Hastie, Tibshirani (2013), has not one but two collections of notebooks to accompany the book with Python (instead of the book's default R examples). One by and one by .
, Python implementations of the R labs for the online course from Stanford University taught by Profs Trevor Hastie and Rob Tibshirani.
, Python implementations of the examples (originally written in R) from a famous introductory book, , by Max Kuhn and Kjell Johnson.
A collection of from multiple faculty at .
by , a tutorial presented at .
, by .
, by . A complete implementation of Adaboost in Python, with code for digit recognition.
, by , part of a .
, an in-depth tutorial on Pandas by .
. A Python tutorial for deep learning with SINGA.
, a frequently updated collection of notebooks on statistical inference, data analysis, visualization and machine learning, by .
, a tutorial for ETL (Extract, Transfer and Load) using python , loading to MySQL and working with csv files by .
, a collection of notebooks implementing the algorithms, reproducing the graphics found in the book "The Elements of Statistical Learning" by Trevor Hastie, Robert Tibshirani and Jerome Friedman and summary of the textbook.
A . This is one of a complete set of by .
. This is part of , a complete collection of notebooks by .
Astrophysical simulations and analysis with : a collection of example notebooks on using various codes that yt interfaces with: , , , and . Note: the yt site currently throws an SSL warning, they seem to have an outdated or self-signed certificate.
, part of a set of tutorials on , by Greg Landrum.
. A complete set of lectures on Computational Fluid Dynamics, from 1-d linear waves to full 2-d Navier-Stokes, by .
. Lectures on applied thermodynamics using Python and the SciPy ecosystem, by .
, a complete course taught at George Washington University by .
, a collection of learning modules (each consisting of several IPython Notebooks) for a course in numerical differential equations taught at George Washington University by . Also offered as a "massive, open online course" (MOOC) on the platform.
by : Learn to interact with Python and handle data with Python; assumes no coding experience and creates a foundation in programming applied to technical contexts. With an accompanying .
by : Hands-on data analysis using a computational approach and real-life applications. With an accompanying .
by : Tour of the dynamics of change and motion using computational thinking with Python. With an accompanying .
, spectroscopy library built for integration ipython notebooks, matplotlib and pandas.
, a course by .
: Interactive lessons in bioinformatics, by .
Colour science computations with , a Python package implementing a comprehensive number of colour theory transformations and algorithms supported by a . More colour science related are available on .
The from the Book , covering several fields like Next-Generation Sequencing, Population Genetics, Phylogenetics, Genomics, Proteomics and Geo-referenced information.
is an interactive notebook that explains basic population genetics tools and techniques by building an in silico evolutionary model of RNA molecules.
. This notebook fully reproduces the research published in . The notebook uses mostly python but includes some bash and R as well and is relevant for researchers in bioinformatics and public health.
. This Python notebook uses the Jupyter-widget to visualize hierarchical clustering of gene expression and post-translational modification data from 37 lung cancer cell lines as an interactive heatmap. The notebook is part of the research project from this .
. A series of python notebooks using the package and API for materials science.
, a collection of IPython notebooks with a focus on Earth Sciences, from to the .
, a tutorial series aimed at the Earth Sciences community, by .
, one of a rich , by .
, part of the blog series () on Machine Learning and data analysis in Python. By Carl Vogel.
, an executable version of a paper by Richard Styron and Eric Hetland published in Geophysical Research Letters, on earthquake probabilities.
, a blog demonstrating analyses in physical oceanography from to specialized to .
has a with material support for geospatial-data processing related blog posts. It includes notebooks about and .
is a collection of live Jupyter notebooks for seismology. It includes a fairly large number of notebooks on how to solve the acoustic and elastic wave equation with various different numerical methods. Additionally it contains notebooks with an extensive introduction to data handling and signal processing in seismology, and notebooks tackling ambient seismic noise, rotational and glacial seismology, and more.
is an introduction to programming in Python for Bachelors and Masters students in geo-fields (geology, geophysics, geography) taught by members of the . Course lessons and exercises are based on Jupyter notebooks and open for use by any interested person.
by .
, part of the collection on security-oriented data analysis with IPython & friends.
. A complete collection of notebooks accompanying by O'Reilly.
. A set of IPython Notebooks by to explain what the Fourier Transform is and how to use it for basic audio processing applications.
, part of : an entire book (and ) on the subject by Jose Unpingco. ádasd
. A textbook and accompanying filtering library on the topic of Kalman filtering and other related Bayesian filtering techniques.
Signals from a smart phone gyroscope and accelerometer are used to classify if the person is running, walking, sitting standing etc. This IPython notebook contains a python implementation of DTW and KNN algorithms along with explanations and a practical application.
A collection of notebooks that accompanies a masters course on the topic.
An introduction course into using openCV for computer vision in python
by . A collection of IPython notebooks illustrating topics in introductory chemical engineering analysis, including stoichiometry, generation-consumption analysis, mass and energy balances.
by . A collection of Jupyter notebooks in the form of lecture notes and engineering calculations for the course IMTR 1713 Sensors and Actuators taught at the .
, by
, by
, by Sandia's .
, by .
, a self-contained mini-course with exercises, by .
. () by Chris Fonnesbeck.
(, by Thomas Wiecki.
by .
. And another Numba example: .
, and , by .
by Justin Riley.
by Matthew Brett.
. Also available to better visualization. The notebook was converted to a HTML presentation using an old nbconvert with the first developing implementation of reveal
converter. By Yoav Ram.
by .
by Fernando Perez.
, using .
The lmfit
package provides a widget-based interface to the curve-fitting algorithms in SciPy.
by Jeff Thompson
by .
by . This notebook explains how to improve a recursive tree search with an heuristic function and to find the minimum solution to the gridmancer.
, an illustration of the , by .
A reconstruction of , by Skipper Seabold (complete ).
, which accompanies a more detailed . Here are the . By Brian Keegan.
More on .
.
. The also includes an explanatory slideshow. By Sean Taylor.
.
(in Spanish). By .
, by . is a dataset containing more than 200-million geolocated events with global coverage for 1979 to the present. Another GDELT example from David, that nicely .
, by
A geographic analysis of with GDELT, by .
, by , and .
Analyzing the , by (Vélib is Paris' ).
, by .
, by (complete .)
. By .
, a data science tutorial that accompanies a from .
.
, a for the Udacity Intro to Data Science Course, by .
, by . Part of a .
, a GIS analysis of public crime data in SF, by .
is an entire course by to learn to access, munge, and analyse spatial data on social phenomena.
by includes many colorful data visualizations.
by . Intuition and simulation for the theory (Ma et al., 2006) that through probabilistic population codes, neurons can perform optimal cue combination with simple linear operations. Demonstrates that variance in cortical activity, rather than impairing sensory systems, is an adaptive mechanism to encode uncertainty in sensory measurements.
by Ariel Rokem.
. The effect of convolution of different receptive field functions and natural images is examined.
. A three-day crash course for vision researchers in programming with Python, building experiments with and , learning the fMRI multi-voxel pattern analysis with , and understading image processing in Python.
, part of the by .
, an IPython-based slide deck by .
by , a free recipe from the , a comprehensive guide to Python for Data Science.
, by .
, by .
, by .
by
by .
, by .
by
, a series based on Andrew Ng's Coursera class on machine learning. Part of a by .
, by Peter Norvig.
, by . Complimentary .
, by
, by [Jason Chin](Jason Chin).
and the by Jason K. Moore.
, by , using rdkit.
, visualizing and listening to the quantum-mechanical spectrum of Hydrogen. By .
Particle physics at the Large Hadron Collider (LHC): using : and notebooks by Alexander Mazurov and Andrey Ustyuzhanin at CERN.
, a demonstration of how IPython notebooks can be used to discuss both the theory and implementation of numerical algorithms on one page, by .
. Also available to better visualization. The notebook was converted to a HTML presentation using an old nbconvert with the first developing implementation of reveal
converter. By Yoav Ram.
, by , . This is based on the .
series of notebooks which examines time-series data for economics and finance. Easy API to freely access data from the Federal Reserve, SEC, CFTC, stock and futures exchanges. Thus research from older notebooks can be replicated, and updated using the most current data. For example, this notebook forecasts likely Fed policy for setting the , but market sentiment across major asset classes is observable from the . Major economics indicators are renormalized: for example, various measures of , optionally with the forward-looking break-even rates derived from U.S. Treasury bonds. Other notebooks examine international markets: especially, gold and foreign exchange.
, Sequential repayment of a bond using interactive widgets and Python in Jupyter, by .
. This embeds a slideshow and a Web Spinning Globe (Cesium) in the notebook. By Massimo Di Stefano.
. Tutorial by from SciPy2013.
: common problems when plotting large datasets, and how to avoid them. By James A. Bednar.
and visualized using .
A with an interactive Hans Rosling Gapminder bubble chart from .
. Using NetCDF, Matplotlib, IPython Parallel and ffmpeg to generate video animation from time series of gridded data. By Massimo Di Stefano.
.
, by .
is a d3-based interactive visualization library built entirely on top of that ipywidgets
infrastructure. Checkout the of Hans Rosling's .
, different from above by not depending on Plot.ly account.
(and other languages). It provides d3-like novel graphics, over large datasets, all without requiring any knowledge of Javascript. It also has a Matplotlib compatibility layer.
lets you construct visualizations very concisely in the notebook.
, by . The original .
, by .
This Python notebook shows a simple example of how to visualize a matrix file and Pandas DataFrame as an interactive heatmap (built using D3.js) using the Jupyter Widget (see ).
- a collection of 40 notebooks.
. A tutorial that styles the notebook differently to show that you can produce high-quality typography online with the Notebook. By Carl Vogel.
, combining SymPy and matplotlib. By .
(in Turkish) and By Burak Bayramli.
, an introductory companion to their . By the .
, a brief explanation and illustration of the math behind the DCT and its role in the JPEG image format, by .
, a demo of , by . PyChebfun is a pure-python implementation of the celebrated .
, an introduction to the matrix exponential, its applications, and a list of available software in Python and MATLAB. By .
, by .
, by .
, a collection of notebooks aimed at Mathematicians with no/little Python knowledge. Notebooks can be selected to serve as resources for a workshop. By .
with , Python port of of Richard Schreier's excellent , by . Several demonstrative notebooks on the package .
, by .
by
by is a notebook that achieves Seamless Image Cloning by employing the Poisson Solver in the iterative form.
by & is a notebook that achieves blind source separation, on audio signals in an attempt to approach the Cocktail Party Prblem. The problem has been tackled in two different methods - the FOBI and fastICA.
by Folgert Karsdorp & Maarten van Gompel.
by Andres Soto Villaverde.
by Andres Soto Villaverde.
by Andrés Soto Villaverde
by Andrés Soto Villaverde
Note that in the 'collections' section above there are also pandas-related links, such as the one for an .
, this notebook explains the basic concepts of a pandas data frame from scratch for beginners with examples, by .
, this is the notebook accompanying a by Wes McKinney, author of Pandas and the book.
, this notebook explains various operations and methods of Pandas library from the scratch with the help of an example, by .
.
.
, part of Coursera data analysis course, done in Python ().
, part of a by Taavi Burns.
, by . An enlightening discussion of how naive plotting choices subtly influence our interpretation of data.
, by .
, by , SciPy 2013. Companion videos , , ,
, this notebook explains how to become a good python programmer, by , author and editor at
, this notebook explains Python Strings from basic to advance level, by
, this notebook explains Python Tuples from basic to advance level, by
, this notebook explains Python Dictionary from basic to advance level, by
, this notebook explains Python Lists from basic to advance level with the help of an example, by .
, part of an from the .
by (part of a larger collection on ).
, an in-depth discussion of the descriptor protocol in Python, by .
, by .
, by .
, by .
, by .
Python 3 OOP series by : , , , , ,
(1) Python Dictionary, (2) Apache PySpark - GroupBy Transformation, and (3) Apache PySpark - ReduceBy Transformation by .
The IPython protocols to communicate between kernels and clients are language agnostic, and other programming language communities have started to build support for this protocol in their language. The Julia team has created , and these are some Julia notebooks:
, by .
, a detailed explanation of Julia's multiple dispatch design, by .
A on making interactive graphs with and Julia.
by
, a collection of optimization-related notebooks.
, Luis Benet and David P. Sanders
, David Sanders
, Steven G. Johnson
, Younhun Kim and Matthew Reyna
, presented at EuroSciPy '14 by Steven G. Johnson.
There exists a Haskell kernel for IPython in the .
, a solution to a cute problem involving treating English letters as generators of a large group.
, a look at how arbitrary gradient descent algorithms can be represented with a typeclass.
is an OCaml kernel for IPython
Similar to the Julia kernel there exists also a for IPython.
The interactive plotting library has some case studies using IRuby:
An example showcasing full use of the with the IPerl kernel.
Create a rich C# workbook for Android, iOS, Mac, WPF, or Console, and get instant live results as you learn these APIs.
Two IJavascript notebooks that demonstrate how to use to and
, also available in , . By Fernando Perez.
, by Jake van der Plas and available as a . Other contain many more great examples of doing interesting work with the scientific Python stack.
, also available in by Damián Avila.
, this is part of a by Matthias Bussonnier.
, a gist by .
by .
by
This section contains academic papers that have been published in the peer-reviewed literature or pre-print sites such as the that include one or more notebooks that enable (even if only partially) readers to reproduce the results of the publication. If you include a publication here, please link to the journal article as well as providing the nbviewer notebook link (and any other relevant resources associated with the paper).
. . .
. That page, from the LIGO Open Science Center, contains multiple notebooks for various datasets corresponding to different events; lets you run the code right away. More details on the event as well as the original .
, by Brunk et al.
by Monica Bobra and Stathis Ilonidis (Astrophysical Journal, 2016). An , which reproduces all the results, has been permanently deposited in the .
by Alyssa Goodman et al. (Authorea Preprint, 2017). This article explains and shows with demonstrations how scholarly "papers" can morph into long-lasting rich records of scientific discourse, enriched with deep data and code linkages, interactive figures, audio, video, and commenting. It includes an interactive d3.js visualization and has an astronomical data figure with an IPYthon Notebook "behind" it.
by , 2015. Reviewed article will appear in JASTP. The reproduces the full analysis and figures exactly as they appear in the article, and is available on Github: link via .
, by and . (F1000Research 2016, 5:1574). An was used to perform the proposed RNA-Seq pipeline using public gene expression data of human cells after Zika virus infection. The computational pipeline is also version controlled and Dockerized available .
, by and . (Theoretical Population Biology, 2014). An , allowing figure reproduction, was deposited as a .
, by and (Proceedings B, 2014). An , allowing figures reproduction, was deposited as a .
, by J. Soelter et al. (Neuroimage 2014, Open Access). The allows to reproduce most figures from the paper and provides a deeper look at the data. The is also available.
. The .
. The .
. , and .
. The , the and the with the Amazon AMI information for reproducing the full paper.
. , and .
by . The and also all the data in a .
, an article in Scientific American . By from .
, by Wu, García, Hauert and Traulsen. and .
by Christopher Bonnett (submitted to MNRAS)
by Jean-Luc R. Stevens, Judith S. Law, Jan Antolik, and James A. Bednar. Journal of Neuroscience, 33:15747-15766, 2013. [Notebook1] (), .
, by , and D. G. Cory. , , .
, by Tao Ding & Patrick D. Schloss. .
, by Sylvester, Z., Pirmez, C., Cantelli, A., & Jobe, Z. R.
, by M.L. Waskom, D. Kumaran, A.M. Gordon, J. Rissman, & A.D. Wagner. |
, Adam Hughes | Also, check out the .
, Claire E. Olson, Steven B. Roberts doi: . .
, and , HPTCDL'14. and
by et al. There are several to replicate results and make figures.
, Adam Hughes, Zhaowen Liu, Maryam Raftari, Mark. E Reeves. Notebooks are linked in Table 1 in the text.
, by C. Mendoza, J. Boswell, D. Ajoku, M. Bautista.
, in Scientific American (by Jake VanderPlas)
, , by and Patrick Chain.
(2016) by , , Spengler, T. and Dorling, S. R. Q.J.R. Meteorol. Soc. doi:10.1002/qj.2911. Accompanied by .
by and published in Genetics, March 2017 . All figures can be reproduced by the set of notebooks in .
by . Preprint in SocArXiv, June 2017. doi:10.17605/OSF.IO/ENRQ5. Paper is derived from a notebook converted to LaTeX with nbconvert. Notebook and materials at: , ,
, by and D. Poznanski. .
, by et al. Notebooks: , ,
Preprint in SocArXiv, December 2017. doi: 10.17605/OSF.IO/SZXDM. Notebook and materials at: , , .
, quant-ph ArXiV preprint, Nov 2016, by Fischer et al. A included in the ArXiV submission.
, gr-qc ArXiV preprint, May 2017, by Pitkin et al. with supporting notebooks and sources on GitHub.
, stat.OT ArXiV preprint by Heusser et al. A is available, that links to .
, in Journal of Neuroscience by Cole et al. A with all necessary data is available to reproduce all figures.
, in bioRxiv by Cole & Voytek. A with all necessary data is available to reproduce all figures. This repo also links to , which contains notebooks of tutorials.
, a preprint by S. Bonaretti et al. Jupyter notebooks are used as a graphical user interface for medical image processing and analysis. The paper is interactive, with links to data, software, and documentation throughout the text. Every figure caption contains links to fully reproduce graphs.
, by .
, analysis for the article by .
, by (in French).
. Here is the with discussion. By Jake van der Plas.
, part of Matt Davis' . This is a teaching tool for use with the IPython notebook that provides visual elements to understand programming concepts.
. Interesting use of convolution operation to calculate the next state of game board, instead of obvious find neighbors and filter the board for next state.
. Using jupyter notebook, python, and numpy to solve Board Game "Penguins on Ice".
, stick figures generated with matplotlib.
, also available in . Do you want to make static html/css slideshow straight from the IPython notebook? OK, now you can do it with the reveal converter (nbconvert). by Damián Avila.
. Plot your loss of weight with prognosis and motivation features.
.
, a study in data and gender in the Marvel comics universe, by and .
, an IJulia notebook by .
.
on how to learn Python featuring IPython as the platform of choice for learning!
shows IPython being used in the project
He does not show IPython in use but his IPython sticker is clear for the entire video:
on Python and data analysis features IPython as does his book
shows Plotly and IPython in use at a Montreal Python meetup.
notebook example (scroll down) illustrating how to use Qiskit and access the IBMQ quantum computers.
Reference :