Панды присоединяются или объединяются: в чем разница?


Функции join() и merge() можно использовать для объединения двух кадров данных pandas.

Вот основное различие между этими двумя функциями:

  • Функция join() объединяет два DataFrame по индексу.
  • Функция merge() объединяет два DataFrame на основе указанного вами столбца.

Эти функции используют следующий базовый синтаксис:

 #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() объединяет два DataFrame, используя индексный столбец.

Пример 2: Как использовать функцию merge()

Следующий код показывает, как использовать функцию merge() для объединения двух DataFrame:

 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, используя столбец «имя».

Дополнительные ресурсы

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

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

В следующих руководствах объясняется, как выполнять другие распространенные функции в pandas:

Как добавить строки в DataFrame Pandas
Как добавить строку заголовка в Pandas DataFrame
Как получить первую строку Pandas DataFrame
Как получить первый столбец из Pandas DataFrame

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *