Что верно про вызов pd.merge(orders, customers, on="customer_id", how="left")?

AОстанутся только заказы с совпадающим клиентом в customers, как при inner join
BОстанутся все строки orders, а поля customers будут NaN при отсутствии пары
CОстанутся все клиенты customers, даже без единого заказа в таблице orders
Dpandas удалит дубликаты по customer_id в обеих таблицах перед объединением
Правильный ответ. left join сохраняет все строки из левой таблицы и добавляет данные из правой по ключу.

Разбор

При how="left" левая таблица — это orders, поэтому каждая строка заказа попадёт в результат. Для каждого заказа pandas пытается найти строку в customers с тем же customer_id. Если совпадения нет, колонки из customers заполняются NaN. Это типичный паттерн для обогащения фактов (заказов) атрибутами (клиентов). Дубликаты по ключу автоматически не удаляются — они приведут к размножению строк.

Проверь себя · 1/3разбор после ответа
В df есть столбец age. Какие значения age попадут в результат df[(df["age"] >= 18) & (df["age"] <= 25)]?
Тренировать Python в Telegram

Ещё вопросы по теме «Pandas и DataFrame»