You might want to check the following related stack-exchange (answered) question: Why is Pandas itertuples slower than iterrows on dataframes with many (>100) columns?