Панды присоединяются или объединяются: в чем разница?
Функции 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