← Все уроки

Pandas с нуля. Часть 9: объединение таблиц — merge, join, concat

Учимся склеивать таблицы в pandas: merge с how и on, join по индексу, concat по строкам и столбцам. Разбираем fan-out при 1:N и indicator для аналитики данных.

Урок курса «Pandas с нуля» — открой бесплатной регистрацией
Ниже — план урока. Зарегистрируйся за 30 секунд, чтобы открыть полную теорию прямо в браузере (Python и pandas прямо в браузере), сохранять прогресс и пройти все 10 частей бесплатно.

Это часть 9 из 10 курса «Pandas с нуля для аналитика».

В реальной работе данные почти никогда не лежат в одной таблице. Заказы в одной, пользователи в другой, товары в третьей. Чтобы ответить на вопрос «сколько в среднем тратят клиенты из Москвы», тебе нужно соединить эти таблицы по общему ключу. Сегодня разберём все способы это сделать в pandas — и, что важнее, научимся не наступать на грабли, на которых спотыкаются даже мидлы.

Что разберёшь в этом уроке

Частые вопросы

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

merge объединяет таблицы по общим ключам (как SQL JOIN), сопоставляя строки по значению колонки. concat просто склеивает таблицы по строкам (axis=0) или колонкам (axis=1) без сопоставления ключей.

Какие типы join поддерживает merge и чем они отличаются?

Параметр how задаёт тип: 'inner' (только совпадения), 'left' (все строки левой таблицы), 'right' (все правой), 'outer' (объединение всех). Ключ задаётся через on='id' или left_on/right_on при разных именах колонок.

Когда использовать join вместо merge?

df.join() объединяет по индексу и удобен, когда ключ уже стоит индексом обеих таблиц: df1.join(df2). merge гибче — работает по любым колонкам через on, поэтому в большинстве задач берут именно merge.

Free — после регистрации
0 ₽
  • Все 10 уроков курса + 36 интерактивных задач
  • 5 SQL и 5 Python-задач в тренажёре
  • 5 кейсов · 10 метрик · 1 AI-собеседование
Начать бесплатно →
Pro
1 999 ₽/мес
  • Все 545 SQL + 538 Python-задач
  • 610 кейсов · 394 метрик · 664 заданий
  • Безлимит AI-собеседований с разбором
Оформить Pro →