result = ( pd.read_csv("sales.csv") # Load data .assign( # Create revenue revenue=lambda df: df["quantity"] * df["price"], # Convert and extract time features order_date=lambda df: pd.to_datetime(df["order_date"]), month=lambda df: df["order_date"].dt.to_period("M") ) # Apply custom transformation .pipe(filter_high_revenue) # Filter by date .loc[lambda df: df["order_date"] >= "2023-01-01"] # Aggregate results .groupby(["category", "month"], as_index=False)["revenue"] .sum() # Sort output .sort_values(by="revenue", ascending=False) )