import pandas as pd import numpy as np import time df = pd.read_csv('large_sales_data.csv') start = time.time() # Fix data types upfront df['region'] = df['region'].astype('category') df['category'] = df['category'].astype('category') df['status'] = df['status'].astype('category') # Vectorized revenue calculation df['net_revenue'] = df['sales'] * df['quantity'] * (1 - 0.075) # Vectorized flagging df['order_flag'] = np.where(df['net_revenue'] > 50000, 'high', 'low') # Aggregation result = df.groupby('region')['net_revenue'].sum() end = time.time() print(f"Pandas runtime: {end - start:.2f} seconds") print(result)