Что произойдёт при pd.merge(left, right, on="id", how="left"), если в таблице right для одного id есть несколько строк?

Apandas возьмёт только первое совпадение из right, остальные дубли молча проигнорирует и не отразит в результате соединения
Bpandas всегда выбросит исключение из-за неоднозначности соединения и потребует явно указать стратегию разрешения дубликатов в right
CСтрока из left с этим id продублируется в результате столько раз, сколько совпадений найдено в правой таблице right
Dpandas автоматически усреднит числовые значения из right и добавит ровно одну строку в итоговый результат соединения таблиц
Правильный ответ. При JOIN-ах возможна «размножающая» связь one-to-many: строки левой таблицы повторяются.

Разбор

.merge() выполняет табличное соединение. Если ключ id в правой таблице не уникален, то для одной строки left найдётся несколько соответствий в right. Тогда результат будет содержать несколько строк (декартово размножение внутри ключа): одна и та же строка left повторится для каждого совпадения из right. Это важный аналитический риск, который может «раздуть» метрики.

Проверь себя · 1/3разбор после ответа
Что верно про два шага: mask = df["col"] > 0 и затем df[mask]?
Тренировать Python в Telegram

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