Как сделать левое соединение в pandas (с примером)


Вы можете использовать следующий базовый синтаксис для выполнения левого соединения в pandas:

 import pandas as pd

df1. merge (df2, on=' column_name ', how=' left ')

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: как выполнить левое соединение в 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.

Мы можем использовать следующий код для выполнения левого соединения, сохраняя все строки из первого DataFrame и добавляя все столбцы, которые соответствуют столбцу команды во втором DataFrame:

 #perform left join
df1. merge (df2, on=' team ', how=' left ')

        team points assists
0 to 18 4.0
1 B 22 9.0
2 C 19 14.0
3 D 14 13.0
4 E 14 NaN
5 F 11 NaN
6G 20 10.0
7:28 a.m. 8.0

Каждая команда в левом DataFrame ( df1 ) возвращается в объединенном DataFrame, и возвращаются только строки в правом DataFrame ( df2 ), соответствующие имени команды в левом DataFrame.

Обратите внимание, что две команды в df2 (команды E и F), названия которых не соответствуют названию команды в df1 , просто возвращают значение NaN в столбце передач объединенного DataFrame.

Обратите внимание, что вы также можете использовать pd.merge() со следующим синтаксисом, чтобы вернуть тот же результат:

 #perform left join
p.d. merge (df1, df2, on=' team ', how=' left ')


        team points assists
0 to 18 4.0
1 B 22 9.0
2 C 19 14.0
3 D 14 13.0
4 E 14 NaN
5 F 11 NaN
6G 20 10.0
7:28 a.m. 8.0

Обратите внимание, что этот объединенный DataFrame соответствует кадру из предыдущего примера.

Примечание . Полную документацию по функции слияния можно найти здесь .

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

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

Как выполнить анти-соединение в Pandas
Как выполнить внутреннее соединение в Pandas
Как выполнить перекрестное соединение в Pandas

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

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