import pandas as pd def process_data(transactions): # Convert to DataFrame df = pd.DataFrame(transactions) if df.empty: return df # Ensure correct data types df["date"] = pd.to_datetime(df["date"]) df["amount"] = df["amount"].astype(float) # Add time-based columns df["month"] = df["date"].dt.to_period("M") df["week"] = df["date"].dt.isocalendar().week return df