Функции join() и merge() можно использовать для объединения двух фреймов данных pandas.
Вот основное различие между двумя функциями:
- Функция join() объединяет два кадра данных по индексу.
- Функция merge() объединяет два кадра данных по любому указанному вами столбцу.
Эти функции используют следующий базовый синтаксис:
#use join() to combine two DataFrames by index
df1.join(df2)
#use merge() to combine two DataFrames by specific column name
df1.merge(df2, on='column_name')
В тех случаях, когда вы знаете, что хотите соединить два DataFrames по индексу, можно использовать функцию join() для экономии ввода.
В следующих примерах показано, как использовать каждую функцию на практике.
Пример 1: Как использовать функцию join()
В следующем коде показано, как использовать функцию join() для объединения двух фреймов данных:
import pandas as pd
#create two DataFrames
df1 = pd.DataFrame({'name': ['A', 'B', 'C'], 'points': [8, 12, 19]}).set_index('name')
df2 = pd.DataFrame({'name': ['A', 'B', 'C'], 'steals': [4, 5, 2]}).set_index('name')
#view two DataFrames
print(df1); print(df2)
points steals
name name
A 8 A 4
B 12 B 5
C 19 C 2
#use join() function to join together two DataFrames
df1.join(df2)
points steals
name
A 8 4
B 12 5
C 19 2
По умолчанию функция join() объединила два кадра данных с помощью столбца индекса.
Пример 2: Как использовать функцию merge()
В следующем коде показано, как использовать функцию merge() для объединения двух фреймов данных:
import pandas as pd
#create two DataFrames
df1 = pd.DataFrame({'name': ['A', 'B', 'C'], 'points': [8, 12, 19]}).set_index('name')
df2 = pd.DataFrame({'name': ['A', 'B', 'C'], 'steals': [4, 5, 2]}).set_index('name')
#view two DataFrames
print(df1); print(df2)
points steals
name name
A 8 A 4
B 12 B 5
C 19 C 2
#use join() function to join together two DataFrames
df1.merge(df2, on='name')
points steals
name
A 8 4
B 12 5
C 19 2
Обратите внимание, что функция слияния () вернула точно такой же результат, но нам пришлось явно указать pandas присоединиться к кадрам данных, используя столбец «имя».
Дополнительные ресурсы
Полную онлайн-документацию по функциям join() и merge() можно найти здесь:
Документация для функции join()
Документация для функции merge()
В следующих руководствах объясняется, как выполнять другие распространенные функции в pandas:
Как добавить строки в Pandas DataFrame
Как добавить строку заголовка в Pandas DataFrame
Как получить первую строку Pandas DataFrame
Как получить первый столбец Pandas DataFrame