Drills tagged with this skill, unpassed first. Pass them all to mark the skill ready for scenarios.
attach_customer_name(orders, customers) that returns an inner-joined DataFrame on customer_id. Only customers present in both tables are kept.
Example. orders has customer_ids 1, 2, 3; customers has 1, 2, 4 → result has only rows for IDs 1 and 2.
Notes. Inner join. Result preserves the orders-table row order for matched rows. No overlap → empty DataFrame."Unknown".
Your task. Write attach_or_unknown(orders, customers) that left-joins on customer_id and replaces missing names with "Unknown".
Example. orders for customers 10, 20, 30; customers has only 10, 20 → 3 rows, with name="Unknown" for the order with customer 30.
Notes. Same row order as orders. Every order matched → no "Unknown" substitution.combine(dfs) that takes a list of DataFrames and returns them concatenated vertically with the index reset to 0..N-1.
Example. combine([df_mon, df_tue, df_wed]) → all rows stacked, re-indexed.
Notes. Empty list → empty DataFrame (pd.concat([]) raises, so handle that). All dfs share the same columns.