As of August 2017, Pandas DataFame.apply() is unfortunately still limited to working with a single core, meaning that a multi-core machine will waste the majority of its compute-time when you run
df.apply(myfunc, axis=1).
How can you use all your cores to run apply on a dataframe in parallel?