Notebook
The basic datastructure in numpy is the ndarray, an N dimensional array.
In a lot of ways, the ndarray can be treated like a list, but there are some interesting differences. You can make an ndarray from a list, but an ndarray can only have one type of data.
The other interesting difference is that the ndarray supports "fancy indexing"!
Many of the functions that operate on ndarrays are written in C or Fortran, which makes them very fast. One common type of function is the ufunc - Universal Function. This class of functions operate elementwise on the array.
Some material taken from: https://github.com/jakevdp/2013_fall_ASTR599/ http://www.gregreda.com/2013/10/26/working-with-pandas-dataframes/