# Never get in a data battle without Numpy arrays Material for the training on Numpy presented at EuroScipy 2015 ## Abstract The `numpy` package takes a central role in Python data science code. This is mainly because numpy code has been designed with high performance in mind. This tutorial will provide the most essential concepts to become confident with `numpy` and `ndarray`s. Then some concrete examples of applications where numpy takes a central role, will be presented as well. ## Description It is very hard to be a scientist without knowing how to write code, and nowadays **Python** is probably the language of choice in many research fields. This is mainly because the Python ecosystem includes a lot of tools and libraries for many research tasks: `pandas` for *data analysis* , `networkx` for *social network analysis*, `scikit-learn` for *machine learning*, and so on. Most of these libraries relies (or are built on top of) `numpy`. Therefore, `numpy` is a crucial component of the common Python stack used for numerical analysis and data science. On the one hand, NumPy code tends to be much cleaner (and faster) than "straight" Python code that tries to accomplish the same task. Moreover, the underlying algorithms have been designed with high performance in mind. This training is organised in two parts: the first part is intended to provide most of the essential concepts needed to become confident with NumPy data structures and functions. In the second part, some examples of data analysis libraries and code will be presented, where NumPy takes a central role. Here is a list of software used to develop and test the code examples presented during the training: * Python 3.x (2.x would work as well) * iPython 2.3+ (with **notebook support**) or Jupyter: * `pip install ipython[notebook]` (OR) * `pip install jupyter` * numpy 1.9+ * scipy 0.14+ * scikit-learn 0.15+ * numexpr: 2.4.+ ## Target Audience The training is meant to be mostly introductory, thus it is perfectly suited for **beginners**. However, a good proficiency in Python programming is (at least) required. ## License and Sharing Material Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.