An example of an IPython Notebook that converts Python plots into fun, annotated cartoons, suitable for presenting pseudo-quantitative hypotheses: XKCD plots in Matplotlib. It demonstrates some of the beauty of the IPython Notebook format (.ipynb), by being a blog post as python code (or vice versa?). The dual identity of .ipynb files and their mixed-media format solves many problems with other data analysis software: the lack of narrative, the difficulty of sharing and the challenge of 'provenance' - knowing how a result was arrived at, from what data and which analytic methods.
A post by Fernando Perez, the founder of IPython, describes the philosophical aims of the Notebook model (e.g. transparency, easy shareability), and gives some more substantial examples: "Literate computing" and computational reproducibility: IPython in the age of data-driven journalism. In particular, he describes how massive economic pain was inflicted by governments with support from some economists' buggy Excel spreadsheet (Reinhart-Rogoff), and how that this is something that would not have happened with a shared .ipynb file. Such a file was produced in 3 hours by a member of the Python community!
In my view the clear superiority of Python over Matlab is based on things that did not exist when I first reviewed switching in mid-2011. Both the Notebook interface of IPython and the Pandas data analysis library were released with around the end of 2011, and since then both tools have gathered an incredible ecosystem around them. Furthermore, the IPython Notebook now also has 'magic' functions that allow one to call Octave (a free Matlab-like language) and R (a major language for stats) commands in a notebook, features that have evolved dramatically in recent years. Indeed, the first book about IPython was only released in April 2013.
Update: Other great (new-ish?) features of Python are pip install and StackOverflow - they make things much easier than my experience in 2011.
A post by Fernando Perez, the founder of IPython, describes the philosophical aims of the Notebook model (e.g. transparency, easy shareability), and gives some more substantial examples: "Literate computing" and computational reproducibility: IPython in the age of data-driven journalism. In particular, he describes how massive economic pain was inflicted by governments with support from some economists' buggy Excel spreadsheet (Reinhart-Rogoff), and how that this is something that would not have happened with a shared .ipynb file. Such a file was produced in 3 hours by a member of the Python community!
In my view the clear superiority of Python over Matlab is based on things that did not exist when I first reviewed switching in mid-2011. Both the Notebook interface of IPython and the Pandas data analysis library were released with around the end of 2011, and since then both tools have gathered an incredible ecosystem around them. Furthermore, the IPython Notebook now also has 'magic' functions that allow one to call Octave (a free Matlab-like language) and R (a major language for stats) commands in a notebook, features that have evolved dramatically in recent years. Indeed, the first book about IPython was only released in April 2013.
Update: Other great (new-ish?) features of Python are pip install and StackOverflow - they make things much easier than my experience in 2011.