import pandas as pd import numpy as np df = pd.DataFrame({ 'sales': np.random.randint(100, 10000, size=100_000), 'discount': np.random.uniform(0.0, 0.5, size=100_000) }) # Approach A %timeit df.apply(lambda row: row['sales'] * row['discount'], axis=1) # Approach B %timeit df['sales'] * df['discount']