The NumPy array: a structure for efficient numerical computation
  In the Python world, NumPy arrays are the standard representation for numerical data. Here, we show how these arrays enable efficient implementation of numerical computations in a high-level language. Overall, three techniques are applied to improve performance: vectorizing calculations, avoiding copying data in memory, and minimizing operation counts. We first present the NumPy array structure, then show how to use it for efficient computation, and finally how to share array data with other libraries. 
Stefan Van Der Walt, S. Chris Colbert, Ga\"el Varoquaux (Parietal)
cs.MS