# Create a new column for revenue df["revenue"] = df["quantity"] * df["price"] # Filter for orders from 2023 onwards df_filtered = df[df["order_date"] >= "2023-01-01"] # Convert order_date to datetime and extract month df_filtered["month"] = pd.to_datetime(df_filtered["order_date"]).dt.to_period("M") # Group by category and month, then sum revenue grouped = df_filtered.groupby(["category", "month"])["revenue"].sum() # Convert Series back to DataFrame result = grouped.reset_index() # Sort by revenue descending result = result.sort_values(by="revenue", ascending=False) print(result)