He missed a critical option: you can write those loops in python and JIT them to C fast LLVM with numba: https://github.com/numba/numba
Yes, I used @jit(nopython=True). It does not compile pandas code.
More details here: http://pandas.pydata.org/pandas-docs/version/0.16.2/enhancin...
Also they recently added support for array expressions and allocation so you should upgrade if you haven't already.