All problems

Which Riders Hit a Given Ride Outcome?

easyPythonFilteringMerge

You're a data analyst at UrbanHop, a ride-share startup. Every month the ops team reviews one ride outcome at a time — cancellations in one review, completed trips in the next — and wants a quick list of which riders were affected by whichever outcome is under review. A rider who hit that outcome several times still belongs on the list once, and ops sometimes asks about an outcome that nobody hit at all, which has to come back as an empty list rather than an error.

Riders

id name city signup_date
1 Maya Chen Austin 2023-01-05
2 Noah Patel Denver 2023-02-14
3 Zara Ahmed Austin 2023-03-01
4 Leo Kim Seattle 2023-04-20
5 Ivy Brooks Denver 2023-05-11

Rides

id rider_id driver_id distance_km fare ride_date status
1 1 1 5.2 12.5 2023-06-01 completed
2 1 2 3 8 2023-06-03 completed
3 2 2 10 22 2023-06-02 completed
4 3 1 2.1 6.5 2023-06-05 cancelled
5 3 4 4.4 11 2023-06-06 completed
6 4 3 7.8 18 2023-06-04 completed
7 5 2 1.5 5 2023-06-07 cancelled
8 2 2 12.3 26.5 2023-06-10 completed
9 1 1 6.6 15 2023-06-12 completed
10 4 3 3.3 9 2023-06-15 completed
11 5 2 8.8 19.5 2023-06-18 completed
12 3 1 2.9 7.5 2023-06-20 cancelled

Input

Both DataFrames above are already built for you — the rider and ride rows are not read from input. What does arrive is a single line holding the outcome under review, spelled exactly as the status column spells it.

Task: Print a sorted Python list of rider names who had at least one ride whose status equals the outcome that arrived. If no ride carries that status, print an empty list.

Example: if only rider id 2 qualified, you'd print ['Noah Patel'].

Sign in to solve this problem

Reading problems is free for everyone — solving them (Run, Submit, and tracking what you've solved) needs an account.

Sign in

Discussion

Sign in to join the discussion — reading is open to everyone.

Loading comments…