result = ( pd.read_csv("sales.csv") # Start with raw data .assign( # Create revenue column revenue=lambda df: df["quantity"] * df["price"], # Extract month from order_date month=lambda df: pd.to_datetime(df["order_date"]).dt.to_period("M") ) # Filter for recent orders .loc[lambda df: df["order_date"] >= "2023-01-01"] # Group and aggregate .groupby(["category", "month"])["revenue"] .sum() # Convert to DataFrame .reset_index() # Sort results .sort_values(by="revenue", ascending=False) )