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 |