Never get in a battle of bits without ammunition
2019-09-02 , Track 2 (Baroja)

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 introduce the main features of in numpy in 90 mins.


Outline

Part 1 Numpy Basics

  • Introduction to NumPy Arrays
    • numpy internals schematics
    • Reshaping and Resizing
  • Numerical Data Types
    • Record Array

Part 2 Indexing and Slicing

  • Indexing numpy arrays

    • fancy indexing
    • array masking
  • Slicing & Stacking

  • Vectorization & BroadCasting

Part 3 "Advanced" NumPy

  • Serialisation & I/O
    • .mat files
  • Array and Matrix
    • Matlab compatibility
  • Memmap
  • Bits of Data Science with NumPy
  • NumPy beyond classic 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.


Project Homepage / Git:

https://github.com/leriomaggio/numpy-euroscipy

Abstract as a tweet:

Using numpy the right way: a tutorial from the ground up to master numpy

Python Skill Level:

basic

Domain Expertise:

some

Domains:

General-purpose Python, Scientific data flow and persistence, Vector and array manipulation

Valerio Maggio is a Data Scientist and Post-doc Researcher.
He has a Ph.D. in Computer Science from the University of Naples “Federico II”, and he is currently enrolled as
Research/Cloud Software Engineer at FBK/MPBA.
His research interests focus on Reproducible Science and Machine/Deep Learning methods for Computational Biology and Precision Medicine.
Valerio is also a very active fellow in the Italian Python community and member of the organising committee of many
Python Conferences (i.e. EuroPython, PyCon/PyData Italy, EuroSciPy).