NumPy is the fundamental package for
scientific computing with Python. It contains
among other things:
• A powerful N-dimensional array object
• Sophisticated (broadcasting) functions
• Tools for integrating C/C++ and Fortran
• Useful linear algebra, Fourier transform, and
random number capabilities
The SciPy library is one of the core packages
that make up the SciPy stack.
It provides many user-friendly and efficient
numerical routines such as routines for numerical
integration and optimization.
matplotlib is a python 2D plotting library which
produces publication quality figures in a variety of hardcopy
formats and interactive environments across platforms.
matplotlib can be used in python scripts, the python
and ipython shell (ala MATLAB or Mathematica), web
application servers, and six graphical user interface toolkits.
IPython provides a rich architecture for interactive
• Powerful interactive shells (terminal and Qt-based).
• A browser-based notebook with support for code, text,
mathematical expressions, inline plots and other rich
• Support for interactive data visualization and use of GUI
• Flexible, embeddable interpreters to load into your own
• Easy to use, high performance tools for parallel computing.
SymPy is a Python library for symbolic
mathematics. It aims to become a full-
featured computer algebra system (CAS)
while keeping the code as simple as
possible in order to be comprehensible
and easily extensible.
pandas is an open source, BSD-licensed
library providing high-performance, easy-to-
use data structures and data analysis tools
for the Python programming language.
Machine Learning in Python:
• Simple and efficient tools for data mining and
• Accessible to everybody, and reusable in various
• Built on NumPy, SciPy, and matplotlib
• Open source, commercially usable - BSD license