Pandas merge и join: задачи на соединение таблиц

20 задач Pyodide в браузере С эталонными решениями 2026 — с реальных собесов
merge в pandas — это JOIN из SQL. Все четыре типа поддерживаются через параметр how: "inner", "left", "right", "outer". На собесе спрашивают: «соедини таблицу заказов с таблицей клиентов», «найди клиентов без заказов» (ANTI-JOIN через how="left" + isna), «склей две таблицы вертикально» (concat). Здесь 16+ задач на merge с pandas, эквиваленты JOIN-задач из SQL-тренажёра.
Начать решать задачи →

Все задачи на «Pandas merge / join» (20)

FAQ: частые вопросы про pandas merge / join

merge или join — что использовать?

merge — универсальный, работает по любым колонкам (on="col"). join — только по индексам или одной общей колонке. На собесе используй merge как default — он покроет 95% случаев.

Как сделать ANTI-JOIN в pandas?

df1.merge(df2, on="key", how="left", indicator=True).query("_merge == \"left_only\"") — оставит только строки из df1, для которых нет совпадений в df2. Эквивалент LEFT JOIN ... WHERE df2.key IS NULL.

Чем merge отличается от concat?

merge — соединение по ключу (горизонтально, как SQL JOIN). concat — склейка таблиц целиком (вертикально как UNION, или горизонтально по индексу).

Что делать с дубликатами при merge?

Параметр validate="one_to_many" или "one_to_one" — pandas упадёт с ошибкой если ожидание не соблюдается. Это лучший способ найти баг в данных до того как он попадёт в отчёт.

Как соединить три таблицы?

df1.merge(df2, on="a").merge(df3, on="b") — цепочка merge. Или через df.set_index() + df.join(other.set_index()) если ключи — индексы.

Связанные темы Python

Pandas: основы · Pandas groupby · Pandas time series · NumPy векторизация · scipy: A/B-тесты · sklearn для аналитика · Графики: matplotlib / seaborn

Связанные темы SQL

JOIN-запросы · CTE (Common Table Expressions)

Открыть весь Python-тренажёр (532 задач) →