Pandas join або merge: у чому різниця?


Функції join() і merge() можна використовувати для об’єднання двох панд DataFrames.

Ось головна відмінність між двома функціями:

  • Функція join() поєднує два DataFrames за індексом.
  • Функція merge() об’єднує два DataFrames на основі вказаного вами стовпця.

Ці функції використовують такий базовий синтаксис:

 #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 ')

У випадках, коли ви знаєте, що хочете об’єднати два DataFrame за індексом, можна використати функцію join() , щоб зберегти введення.

Наступні приклади показують, як використовувати кожну функцію на практиці.

Приклад 1: Як використовувати функцію join().

Наступний код показує, як використовувати функцію join() для об’єднання двох DataFrames:

 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)

      steal points
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)

	steal points
name		
At 8 4
B 12 5
C 19 2

За замовчуванням функція join() об’єднала два DataFrames за допомогою стовпця індексу.

Приклад 2: Як використовувати функцію merge().

Наступний код показує, як використовувати функцію merge() для об’єднання двох DataFrames:

 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)

      steal points
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 ')

	steal points
name		
At 8 4
B 12 5
C 19 2

Зауважте, що функція merge() повернула той самий результат, але ми повинні були явно вказати пандам приєднатися до DataFrames за допомогою стовпця «name».

Додаткові ресурси

Ви можете знайти повну онлайн-документацію для функцій join() і merge() тут:

Документація для функції join().
Документація для функції merge().

У наступних посібниках пояснюється, як виконувати інші типові функції в pandas:

Як додати рядки до Pandas DataFrame
Як додати рядок заголовка до Pandas DataFrame
Як отримати перший рядок Pandas DataFrame
Як отримати перший стовпець із Pandas DataFrame

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *