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

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

Разбор

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

Проверь себя · 1/3разбор после ответа
В df есть столбцы user_id и amount. Что вернёт выражение df.groupby("user_id")["amount"].sum()?
Тренировать Python в Telegram

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