Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
08 Июл 2024
3 мин
4623

Работа с объединением данных в Pandas

Работа с данными в Python часто включает в себя использование библиотеки Pandas, которая предоставляет мощный и гибкий инструмент для анализа данных. Одним

Работа с данными в Python часто включает в себя использование библиотеки Pandas, которая предоставляет мощный и гибкий инструмент для анализа данных. Одним из самых распространенных заданий при работе с данными является объединение различных наборов данных. Для этого Pandas предлагает несколько методов, включая merge, join и concat.

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

Основы слияния данных

В Pandas слияние данных можно осуществить с помощью функции merge(). Она может выполнять четыре типа объединений: «INNER», «LEFT», «RIGHT» и «FULL OUTER».

Пример использования функции merge():

import pandas as pd

df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
                    'B': ['B0', 'B1', 'B2']},
                     index=['K0', 'K1', 'K2'])

df2 = pd.DataFrame({'C': ['C0', 'C2', 'C3'],
                    'D': ['D0', 'D2', 'D3']},
                     index=['K0', 'K2', 'K3'])

result = pd.merge(df1, df2, left_index=True, right_index=True, how='outer')

Добавление NaN для отсутствующих строк после слияния

При выполнении объединения типа «LEFT», «RIGHT» или «FULL OUTER» могут появиться значения NaN. Это происходит, когда данные в ключевых столбцах не совпадают. В этом случае Pandas автоматически заполняет отсутствующие значения NaN.

Удаление NaN после слияния

После слияния можно использовать функцию dropna() для удаления строк, содержащих значения NaN.

Пример:

result = result.dropna()

Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.

Слияние по индексу

Pandas позволяет выполнять слияние как по столбцам, так и по индексу. Для слияния по индексу можно использовать параметры left_index=True и/или right_index=True.

Объединение нескольких DataFrame

Для объединения нескольких DataFrame можно использовать функцию concat(). Она принимает список DataFrame и объединяет их вместе.

Пример:

result = pd.concat([df1, df2, df3])

Перекрестное объединение с Pandas

Перекрестное объединение, или cartesian product, можно выполнить с помощью функции merge() с параметром how='cross'.

На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.

Разница между merge, join, concat и update

  • merge() используется для объединения двух DataFrame по общему ключу.
  • join() используется для объединения двух DataFrame по индексу.
  • concat() используется для объединения двух или более DataFrame вместе вдоль оси.
  • update() используется для модификации DataFrame путем замены старых значений новыми значениями.

В зависимости от задачи, может быть использован один или несколько из этих методов.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий