-
Notifications
You must be signed in to change notification settings - Fork 0
A gallery of interesting IPython Notebooks
This page is a curated collection of IPython notebooks that are notable for some reason. 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 nbviewer, 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 Matt Davis has conveniently written a set of bookmarklets and extensions to make it a one-click affair to load a Notebook URL into your browser of choice, directly opening into nbviewer.
-
First things first, how to run code in the IPython Notebook, this is one of IPython's official notebook example collection. Another useful one from this group, an explanation of our rich display system.
-
A beautiful matplotlib tutorial, part of the fantastic Lectures on Scientific Computing with Python by J.R. Johansson.
-
A single-atom laser model. This is one of a complete set of lectures on quantum mechanics and quantum optics using QuTiP by J.R. Johansson.
-
An introduction to Compressed Sensing, part of Python for Signal Processing: an entire book (and blog) on the subject by Jose Unpingco.
-
An introduction to Bayesian inference, this is just chapter 1 in an ongoing book titled Probabilistic Programming and Bayesian Methods for Hackers Using Python and PyMC, by Cameron Davidson-Pilon.
-
An introduction to machine learning with Python and scikit-learn (repo and overview) by Hannes Schulz and Andreas Mueller.
-
Logistic models of well switching in Bangladesh, part of the "Will it Python" blog series (repo) on Machine Learning and data analysis in Python. By Carl Vogel.
-
Introduction to Python Data Structures, part of the UC Berkeley Scientific Python Bootcamp, led by Josh Bloom (repo).
-
Bayesian Inference for the Mining Disaster Data Set: part of the UC Berkeley Python Computing for Science course by Josh Bloom.
-
Working with Reactions, part of a set of tutorials on cheminformatics and machine learning with the rdkit project, by Greg Landrum.
-
First few lectures of the UW/Coursera course on Data Analysis. (Repo) by Chris Fonnesbeck.
-
Linear algebra with Cython. A tutorial that styles the notebook differently to show that you can produce high-quality typography online with the Notebook. By Carl Vogel.
-
CythonGSL: a Cython interface for the GNU Scientific Library (GSL) (Project repo, by Thomas Wiecki.
-
Exploring seafloor habitats: geographic analysis using IPython Notebook with GRASS & R. This embeds a slideshow and google Earth in the notebook. By Massimo Di Stefano.
-
[Data and visualization integration via web based resources] (http://nbviewer.ipython.org/url/epi.whoi.edu/ipython/results/mdistefano/nc_video.ipynb). Using NetCDF, Matplotlib, IPython Parallel and ffmpeg to generate video animation from time series of gridded data. By Massimo Di Stefano.
-
Exploring how smooth-looking functions can have very surprising derivatives even at low orders, combining SymPy and matplotlib. By Javier Moreno.
-
Using Numba to speed up numerical codes. And another Numba example: self-organizing maps.
-
Numpy performance tricks, and blog post, by Cyrille Rossant.
-
IPython Parallel Push/Execute/Pull Demo by Justin Riley.
-
Understanding the design of the R "formula" objects. By Matthew Brett.
-
Multibody dynamics and control with Python and the notebook file by Jason K. Moore.
-
Physical quantities (numerical value with units). By Hans Fangohr, also available as a blog post.
-
Comparing different approaches to evolutionary simulations. Also available here 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. -
A Collection of Applied Mathematics and Machine Learning Tutorials (in Turkish). By Burak Bayramli.
-
Modeling psychophysical data with non-linear functions by Ariel Rokem.
-
A git tutorial targeted at scientists by Fernando Perez.
-
Visualizing mathematical models of brain cell connections. The effect of convolution of different receptive field functions and natural images is examined.
-
An introduction to parallel machine learning with sklearn, joblib and IPython.parallel, a notebook that accompanies this slide deck by Olivier Grisel.
-
A tutorial introduction to machine learning with sklearn, an IPython-based slide deck by Andreas Mueller.
-
A 10-minute whirlwind tour of pandas, this is the notebook accompanying a video presentation by Wes McKinney, author of Pandas and the Python for Data Analysis book.
-
Clustering of smartphone sensor data for human activity detection using pandas and scipy, part of Coursera data analysis course, done in Python (repo).
-
Log analysis with Pandas, part of a group presented at PyConCa 2012 by Taavi Burns.
-
A reconstruction of Nate Silver's 538 model for the 2012 US Presidential Election, by Skipper Seabold (complete repo).
-
Data about the Sandy Hook massacre in Newtown, Conneticut, which accompanies a more detailed blog post on the subject. Here are the notebook and accompanying data. By Brian Keegan.
-
Ranking NFL Teams. The full repo also includes an explanatory slideshow. By Sean Taylor.
-
Automated processing of news media and generation of associated imagery.
-
An analysis of national school standardized test data in Colombia using Pandas (in Spanish). By Javier Moreno.
- Learning to code with Python, part of an introduction to Python from the Waterloo Python users group.
-
Blogging With IPython in Blogger, also available in blog post form, full repo here. By Fernando Perez.
-
Blogging With IPython in Octopress, by Jake van der Plas and available as a blog post. Other notebooks by Jake contain many more great examples of doing interesting work with the scientific Python stack.
-
Blogging With IPython in Nikola, also available in blog post form by Damián Avila.
-
Custom CSS control of the notebook, this is part of a blog repo by Matthias Bussonnier.
-
IPython display hookery: tools to help display visual output from various sources, a gist by @deeplook.
This section contains academic papers that have been published in the peer-reviewed literature or pre-print sites such as the ArXiv 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).
-
Collaborative cloud-enabled tools allow rapid, reproducible biological insights, by B. Ragan-Kelley et al.. The main notebook, the full collection of related notebooks and the companion site with the Amazon AMI information for reproducing the full paper.
-
A Reference-Free Algorithm for Computational Normalization of Shotgun Sequencing Data, by C.T. Brown et al.. Full notebook, ArXiv link and project repository.
-
The kinematics of the Local Group in a cosmological context by J.E. Forero-Romero et al.. The Full notebook and also all the data in a github repo.
-
XKCD-styled plots created with Matplotlib. Here is the blog post version with discussion. By Jake van der Plas.
-
Van Gogh's Starry Night with ipythonblocks, part of Matt Davis' ipythonblocks. This is a teaching tool for use with the IPython notebook that provides visual elements to understand programming concepts.
-
Conway's Game of Life. 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.
-
"People plots", stick figures generated with matplotlib.
-
Reveal converter mini-tutorial, also available in blog post form. 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). Demo by Damián Avila.
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:
-
This video shows IPython being used in the scikit project http://www.youtube.com/watch?v=4ONBVNm3isI
-
He doesn't show IPython in use but his IPython sticker is clear for the entire video: http://www.youtube.com/watch?v=op61s-QHryk