Как объединить две таблицы в pandas?
Комбинирование данных в pandas с помощью merge(), .join() и concat()
Автор: Кайл Стратис
Series
и DataFrame
объекты в pandas - это мощные инструменты для исследования и анализа данных. Часть их мощности заключается в многофункциональном подходе к комбинированию отдельных наборов данных. С помощью pandas вы можете объединять, присоединять и конкатенировать ваши данные, позволяя вам объединить и лучше понять ваши данные при их анализе.
В этом руководстве вы узнаете, как и когда объединять данные в pandas с помощью:
merge()
для объединения данных на основе общих столбцов или индексов;.join()
для объединения данных по ключевому столбцу или индексу;concat()
для объединения DataFrames по строкам или столбцам.
Вы можете попробовать все примеры из этого руководства в интерактивной Jupyter Notebook и с набором данных, доступными по ссылке ниже:
Примечание: Техники, которые вы узнаете ниже, обычно работают как с объектами DataFrame
, так и с Series
. Но для простоты и краткости примеры будут использовать термин «набор данных», чтобы обозначить объекты, которые могут быть как DataFrames
, так и Series
.
pandas merge()
: объединение данных по общим столбцам или индексам
Первая техника, которую вы узнаете, это merge()
. Вы можете использовать merge()
всякий раз, когда вам нужна функциональность, аналогичная операциям присоединения в базе данных. Это самая гибкая из трех техник, которые вы узнаете.
Когда вы хотите объединить объекты данных на одном или нескольких ключах, как в реляционной базе данных, вы используете merge()
. Более конкретно, merge()
наиболее полезен, когда вы хотите объединить строки, которые содержат общие данные.
С помощью merge()
вы можете выполнять соединения один-ко-многим и многие-ко-многим. В один-ко-многим соединении один из ваших наборов данных будет содержать множество строк в объединенном столбце, которые повторяются одними и теми же значениями. Например, значения могут быть 1, 1, 3, 5 и 5. В то же время, столбец объединения в другом наборе данных не будет иметь повторяющихся значений. Рассмотрим пример с значениями 1, 3 и 5.
Как вы могли догадаться, в многие-ко-многим соединении оба столбца объединения будут иметь повторяющиеся значения. Эти соединения более сложные и приводят к декартову произведению объединенных строк.
Это означает, что после объединения у вас будет каждая комбинация строк, содержащих одинаковые значения в объединенном столбце.
Примеры
Ниже приведены примеры кода, которые демонстрируют, как использовать методы merge()
, .join()
и concat()
в pandas:
Это только несколько примеров того, как можно использовать методы merge()
, .join()
и concat()
в pandas. Эти методы предлагают разнообразные варианты объединения ваших данных, позволяя вам повысить эффективность и точность ваших аналитических задач.
Заключение
В этом руководстве мы рассмотрели, как объединять данные в pandas с использованием методов merge()
, .join()
и concat()
. Эти методы дают вам гибкость и функциональность для комбинирования ваших данных в разных сценариях.
Вы можете использовать merge()
для объединения на основе общих столбцов или индексов, join()
для объединения на основе ключевого столбца или индекса, и concat()
для объединения по строкам или столбцам. Все эти методы предлагают различные варианты соединения ваших данных, позволяя вам более глубоко изучить и проанализировать ваш набор данных.
Будьте уверены, что вы практикуете эти методы на своих собственных наборах данных, чтобы более глубоко понять их функциональность и применение в вашей работе с данными.