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


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

import pandas as pd

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

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

Пример: как сделать внутреннее соединение в Pandas

Предположим, у нас есть следующие два кадра данных pandas, которые содержат информацию о различных баскетбольных командах:

import pandas as pd

#create DataFrame
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 A 18
1 B 22
2 C 19
3 D 14
4 E 14
5 F 11
6 G 20
7 H 28

print(df2)

 team assists
0 A 4
1 B 9
2 C 14
3 D 13
4 G 10
5 H 8

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

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

 team points assists
0 A 18 4
1 B 22 9
2 C 19 14
3 D 14 13
4 G 20 10
5 H 28 8

Единственные строки, содержащиеся в объединенном кадре данных, — это строки, в которых имя команды отображается в обоих кадрах данных.

Обратите внимание, что две команды были исключены (команды E и F), поскольку они не появились в обоих кадрах данных.

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

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

 team points assists
0 A 18 4
1 B 22 9
2 C 19 14
3 D 14 13
4 G 20 10
5 H 28 8

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

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

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

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

Как сделать левое соединение в Pandas
Как объединить Pandas DataFrames в несколько столбцов
Pandas Join и Merge: в чем разница?

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.