От полу-/анти-соединений к проверке слияния данных
Неприятный шок, который приходит с реальными данными, заключается в том, что они никогда не приходят в виде одного удобного CSV-файла. Вместо этого это набор таблиц, которые взаимодействуют друг с другом разными способами, используя общие столбцы.
Ваша неудачная работа заключается в том, чтобы использовать эти взаимодействия и извлекать идеи из беспорядка. И вашим самым важным навыком для выполнения этой задачи будет выполнение соединений между таблицами.
Итак, моянеудачная работа сегодня состоит в том, чтобы научить вас почти всем способам выполнения этих соединений в Pandas. Возьмите кофе; мы собираемся быть какое-то время.
Панды сливаются ()
Pandas предоставляет несколько методов для слияния кадров данных. Среди всех остальных merge()
метод является наиболее гибким. Это метод фрейма данных, и общий синтаксис выглядит следующим образом:
df1.merge(df2, on='common_column')
При объединении таблиц есть две терминологии, с которыми вы должны быть знакомы: имя таблицы, которую вы используете первой, называется левая таблица, а другая называется правая таблица. . В приведенном выше фрагменте кода левая таблица — df1
, а правая — df2
. Кроме того, глаголы соединения, объединения и слияния используются взаимозаменяемо.
Теперь давайте посмотрим, как мы выполняем внутреннее соединение:
Внутреннее соединение будет возвращать только строки с совпадающими значениями в обеих таблицах. В процессе объединения вам нужно будет знать общее имя столбца в обеих таблицах.
Базовое исследование
Давайте познакомимся с парой наборов данных для использования в статье.
Допустим, у нас есть эти две таблицы:
>>> user_usage.head() >>> user_devices.head()