Как выполнить внутреннее соединение в pandas (с примером)
Вы можете использовать следующий базовый синтаксис для выполнения внутреннего соединения в pandas:
import pandas as pd df1. merge (df2, on=' column_name ', how=' inner ')
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: как выполнить внутреннее соединение в Pandas
Допустим, у нас есть следующие два кадра данных панды, которые содержат информацию о различных баскетбольных командах:
import pandas as pd #createDataFrame df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28]}) df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'G', 'H'], ' assists ': [4, 9, 14, 13, 10, 8]}) #view DataFrames print (df1) team points 0 to 18 1 B 22 2 C 19 3 D 14 4 E 14 5 F 11 6 G 20 7:28 a.m. print (df2) team assists 0 to 4 1 B 9 2 C 14 3 D 13 4G 10 5:8 a.m.
Мы можем использовать следующий код для выполнения внутреннего соединения, которое сохраняет только те строки, в которых имя команды появляется в обоих DataFrames:
#perform left join
df1. merge (df2, on=' team ', how=' inner ')
team points assists
0 to 18 4
1 B 22 9
2 C 19 14
3 D 14 13
4 G 20 10
5:28 8
В объединенном DataFrame содержатся только те строки, в которых имя команды отображается в обоих DataFrame.
Обратите внимание, что две команды были удалены (команды E и F), поскольку они не появлялись в обоих DataFrames.
Обратите внимание, что вы также можете использовать pd.merge() со следующим синтаксисом, чтобы вернуть тот же результат:
#perform left join
p.d. merge (df1, df2, on=' team ', how=' inner ')
team points assists
0 to 18 4
1 B 22 9
2 C 19 14
3 D 14 13
4 G 20 10
5:28 8
Обратите внимание, что этот объединенный DataFrame соответствует кадру из предыдущего примера.
Примечание . Полную документацию по функции слияния можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:
Как сделать левое соединение в Pandas
Как объединить фреймы данных Pandas по нескольким столбцам
Панды присоединяются или объединяются: в чем разница?