itertuples yields one tuple per DataFrame row, providing a familiar loop while avoiding the slower explicit and iterrows-based approaches. section 7.2.2
Use itertuples as a transitional optimization when row-wise iteration remains necessary:
- Access fields through tuple attributes such as my_tuple.tip_amount and my_tuple.total_amount. section 7.2.2
- Benchmark it against apply, vectorization, and alternative access patterns because pandas versions can change performance relationships. section 7.2.2
- Prefer vectorization for medium-term pandas practice rather than treating itertuples as the final optimization. section 7.2.2
def get_tip_mean_itertuples(df):
all_tips = 0
all_totals = 0
for my_tuple in df.itertuples():
all_tips += my_tuple.tip_amount
all_totals += my_tuple.total_amount
return all_tips / all_totals
Computes a tip-to-total mean by iterating through rows as named tuples. section 7.2.2
