Why the notebook that produced your headline number only works on your laptop, and the hour of work that fixes it: restart-and-run-all, extracting functions, config from the environment, idempotent writes, and assertions that catch data changes.
Why iterrows is slow, what actually happens when you cross from a NumPy array into Python objects, and how to replace row loops with boolean masks, np.select, map, merge and groupby transform — plus the cases where a plain loop is still the right answer.