# Never get in battle of bits without ammunitions [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/leriomaggio/numpy-euroscipy/master) **Title Credits**: Gentle reference to the homonymous [talk](https://pyvideo.org/europython-2013/never-get-in-a-battle-of-bits-without-ammunition.html) presented at **EuroPython 2013** in Florence by my friend **riko** (_a.k.a._ Enrico Franchi ). ## Abstract The `numpy` package takes a central role in Python scientific ecosystem. This is mainly because `numpy` code has been designed with high performance in mind. This tutorial will provide materials for the most essential concepts to become confident with `numpy` and `ndarray` in (a matter of) `90 mins`. # Outline **11:00 - 11:30** (_30 mins_) Numpy Basics - Introduction to NumPy Arrays - numpy internals schematics - Reshaping and Resizing - Numerical Data Types - Record Array **11:30 - 12:00** (_30 mins_) Indexing and Slicing - Indexing numpy arrays - fancy indexing - memory management - broadcasting - Slicing & Stacking - Vectorization **12:00 - 12:20** (_20 mins_) Bits of Data Science with NumPy - Serialisation & I/O - `.mat` files - Array and Matrix - Matlab compatibility - Memmap - Beyond Numpy ### Python version The minimum recommended version of Python to use for this tutorial is **Python 3.5**, although Python 2.7 should be fine, as well as previous versions of Python 3. Py3.5+ is recommended due to a reference to the `@` operator in the linear algebra notebook. ## License and Sharing Material Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.