От полу-/анти-соединений к проверке слияния данных

Неприятный шок, который приходит с реальными данными, заключается в том, что они никогда не приходят в виде одного удобного CSV-файла. Вместо этого это набор таблиц, которые взаимодействуют друг с другом разными способами, используя общие столбцы.

Ваша неудачная работа заключается в том, чтобы использовать эти взаимодействия и извлекать идеи из беспорядка. И вашим самым важным навыком для выполнения этой задачи будет выполнение соединений между таблицами.

Итак, моянеудачная работа сегодня состоит в том, чтобы научить вас почти всем способам выполнения этих соединений в Pandas. Возьмите кофе; мы собираемся быть какое-то время.

Панды сливаются ()

Pandas предоставляет несколько методов для слияния кадров данных. Среди всех остальных merge() метод является наиболее гибким. Это метод фрейма данных, и общий синтаксис выглядит следующим образом:

df1.merge(df2, on='common_column')

При объединении таблиц есть две терминологии, с которыми вы должны быть знакомы: имя таблицы, которую вы используете первой, называется левая таблица, а другая называется правая таблица. . В приведенном выше фрагменте кода левая таблица — df1, а правая — df2. Кроме того, глаголы соединения, объединения и слияния используются взаимозаменяемо.

Теперь давайте посмотрим, как мы выполняем внутреннее соединение:

Внутреннее соединение будет возвращать только строки с совпадающими значениями в обеих таблицах. В процессе объединения вам нужно будет знать общее имя столбца в обеих таблицах.

Базовое исследование

Давайте познакомимся с парой наборов данных для использования в статье.

Допустим, у нас есть эти две таблицы:

>>> user_usage.head()
>>> user_devices.head()