groupby

Write revenue_by_category(df) returning a Series indexed by category with the total revenue (units * price), sorted descending.

preloaded fixtures

import pandas as pd
import numpy as np

sales = pd.DataFrame({
    "order_id": [1, 2, 3, 4, 5, 6, 7, 8],
    "customer": ["ada", "grace", "ada", "alan", "grace", "marie", "alan", "ada"],
    "country": ["UK", "USA", "UK", "UK", "USA", "France", "UK", "UK"],
    "category": ["hardware", "audio", "audio", "furniture", "hardware", "audio", "hardware", "furniture"],
    "units": [1, 2, 1, 3, 1, 2, 4, 1],
    "price": [129.0, 249.99, 199.0, 420.0, 329.5, 249.99, 59.0, 540.0],
    "rating": [4.5, np.nan, 3.0, 5.0, np.nan, 4.0, 4.5, 2.5],
})

customers = pd.DataFrame({
    "customer": ["ada", "grace", "alan", "hedy"],
    "segment": ["pro", "pro", "starter", "starter"],
})

Guest mode · solve history stays on this device; code isn’t saved. Sign in to save future work