What you need for this book
You need to know the content of this book's prequel, Learning IPython for Interactive Computing and Data Visualization: Python programming, the IPython console and notebook, numerical computing with NumPy, basic data analysis with pandas as well as plotting with matplotlib. This book tackles advanced scientific programming topics that require you to be familiar with the scientific Python ecosystem.
In Part 2, you need to know the basics of calculus, linear algebra, and probability theory. These chapters introduce different topics in data science and applied mathematics (statistics, machine learning, numerical optimization, signal processing, dynamical systems, graph theory, and others). You will understand these recipes better if you know fundamental concepts such as real-valued functions, integrals, matrices, vector spaces, probabilities, and so on.
Installing Python
There are many ways to install Python. We highly recommend the free Anaconda distribution (http://store.continuum.io/cshop/anaconda/). This Python distribution contains most of the packages that we will be using in this book. It also includes a powerful packaging system named conda. The book's website contains all the instructions to install Anaconda and run the code examples. You should learn how to install packages (conda install packagename
) and how to create multiple Python environments with conda.
The code of this book has been written for Python 3 (more precisely, the code has been tested on Python 3.4.1, Anaconda 2.0.1, Windows 8.1 64-bit, although it definitely works on Linux and Mac OS X), but it also works with Python 2.7. We mention any compatibility issue when required. These issues are rare in this book, because NumPy does the heavy lifting in most cases. NumPy's interface hasn't changed between Python 2 and Python 3.
If you're unsure about which Python version you should use, pick Python 3. You should only pick Python 2 if you really need to (for example, if you absolutely need a Python package that doesn't support Python 3, or if part of your user base is stuck with Python 2). We cover this question in greater detail in Chapter 2, Best Practices in Interactive Computing.
With Anaconda, you can install Python 2 and Python 3 side-by-side using conda environments. This is how you can easily run the couple of recipes in this book that require Python 2.
GitHub repositories
A home page and two GitHub repositories accompany this book:
- The main webpage at http://ipython-books.github.io
- The main GitHub repository, with the codes and references of all recipes, at https://github.com/ipython-books/cookbook-code
- Datasets used in certain recipes at https://github.com/ipython-books/cookbook-data
The main GitHub repository is where you can:
- Find all code examples as IPython notebooks
- Find all up-to-date references
- Find up-to-date installation instructions
- Report errata, inaccuracies, or mistakes via the issue tracker
- Propose fixes via Pull Requests
- Add notes, comments, or further references via Pull Requests
- Add new recipes via Pull Requests
The online list of references is a particularly important resource. It contains many links to tutorials, courses, books, and videos about the topics covered in this book.
You can also follow updates about the book on my website (http://cyrille.rossant.net) and on my Twitter account (@cyrillerossant
).