This week, Packt Publishing asked me to review IPython Notebook Essentials by L. Felipe Martins. They sent me an eBook copy to review. I’ve always been interesting in learning about the IPython Notebook, but had never gotten around to it, so this seemed like a great way to learn more.
- Why I picked it up: I was asked by the publisher to read the book.
- Why I finished it: I only read the Notebook sections of the book. The rest I just skimmed.
- I’d give it to: Someone who already knows Python and is a data scientist
You can get this book in paperback, epub, mobi, or PDF.
The book is split up into 5 chapters and 3 appendices.
The book starts out by giving the reader a tour of the IPython Notebook in chapter one. The author recommends that you use the Anaconda distribution of Python and that you sign up for Wakari to make sharing Notebooks easier. Then you learn how to run a notebook and the author goes into an example using a coffee cooling algorithm. That may sound a little strange, but it was actually pretty interesting to learn about how to calculate how much coffee cools over time. I also thought it was a good way to demonstrate the Notebook’s capabilities. The chapter ends with a few brief exercises.
In chapter two, we learn more about the Notebook’s interface. Here we learn how to edit and navigate the Notebook and IPython magics. You will also learn how to run script and load and save data. The chapter ends with a few examples showing how to embed images, Youtube videos and HTML in your Notebook. I liked this chapter quite a bit.
For chapter three, we change gears dramatically. From this point on until we reach the appendices, the book is basically for scientists. This chapter is about creating plots and animations with Matplotlib inside the Notebook. The Notebook itself is rarely discussed.
Chapter four is all about the pandas project, which is a powerful library for data handling and analytics. This is outside my field, so I cannot comment on its accuracy, let alone understand everything the author writes about in this chapter. Suffice it to say, I only skimmed chapter four.
Chapter five is about SciPy, Numba and NumbaPro. Once again, the focus is on scientific computations (SciPy) and how to accelerate those computations (Numba/NumbaPro). I skipped this chapter too.
The Appendices cover the following:
- An IPython Notebook Reference Card
- A brief overview of the Python language
- NumPy Arrays
Going into this book, I assumed that it would be a guide to the IPython Notebook. The title certainly gives one that impression. However, the majority of the book is not about the IPython Notebook at all and instead focuses on scientific computing with Python. There are many other books that cover that topic and perhaps the IPython Notebook is used mostly by scientists. The preface states that the book is supposed to be learning about the Notebook too along with some of these other libraries. I just felt that the scientific libraries got the majority of the prose and the Notebook got short shrift.
If you are looking for a guide to the IPython Notebook, I’m not sure I can recommend this book for you. It only has 2 chapters that focus exclusively on that topic plus a reference card in the appendix. On the other hand, if you are looking for a very brief overview of some of the scientific libraries you can use in Python plus learn how to use the IPython Notebook in general, then this might be the book for you.
IPython Notebook Essentials
by L. Felipe Martins
Other Book Reviews