Внутреннее соединение в DataFrames Pandas

Вы можете внутренне объединить два DataFrames во время конкатенации, что приведет к пересечению двух DataFrames.

Синтаксис функции concat() к внутреннему соединению приведен ниже.

pd.concat([df1, df2], axis=1, join='inner')

Внутреннее соединение приводит к созданию DataFrame, который имеет пересечение по заданной оси с функцией конкатенации.

Пример 1

В этом примере мы возьмем два DataFrames и найдем их внутреннее соединение по оси = 1.

import pandas as pd

df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                    'B': ['B0', 'B1', 'B2', 'B3'],
                    'C': ['C0', 'C1', 'C2', 'C3'],
                    'D': ['D0', 'D1', 'D2', 'D3']},
                   index=[0, 1, 2, 3])

df2 = pd.DataFrame({'B': ['B2', 'B3', 'B4', 'B5'],
                    'D': ['D2', 'D3', 'D4', 'D5'],
                    'F': ['F2', 'F3', 'F4', 'F5']},
                   index=[2, 3, 4, 5])

result = pd.concat([df1, df2], axis=1, join='inner')

print(result)

Вывод:

D:\>python example.py
    A   B   C   D   B   D   F
2  A2  B2  C2  D2  B2  D2  F2
3  A3  B3  C3  D3  B3  D3  F3

Пример 2

В этом примере мы попробуем внутреннее соединение DataFrames по оси, отличной от оси в предыдущем примере.

import pandas as pd

df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                    'B': ['B0', 'B1', 'B2', 'B3'],
                    'C': ['C0', 'C1', 'C2', 'C3'],
                    'D': ['D0', 'D1', 'D2', 'D3']},
                   index=[0, 1, 2, 3])

df2 = pd.DataFrame({'B': ['B2', 'B3', 'B4', 'B5'],
                    'D': ['D2', 'D3', 'D4', 'D5'],
                    'F': ['F2', 'F3', 'F4', 'F5']},
                   index=[2, 3, 4, 5])

result = pd.concat([df1, df2], axis=0, join='inner')

print(result)

Вывод:

D:\>python example.py
    B   D
0  B0  D0
1  B1  D1
2  B2  D2
3  B3  D3
2  B2  D2
3  B3  D3
4  B4  D4
5  B5  D5

Пример 3: с помощью concat()

В этом примере мы возьмем более двух DataFrames, то есть три, и найдем внутреннее соединение этих DataFrames вдоль оси.

import pandas as pd

df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                    'B': ['B0', 'B1', 'B2', 'B3'],
                    'C': ['C0', 'C1', 'C2', 'C3'],
                    'D': ['D0', 'D1', 'D2', 'D3']},
                   index=[0, 1, 2, 3])

df2 = pd.DataFrame({'B': ['B2', 'B3', 'B4', 'B5'],
                    'D': ['D2', 'D3', 'D4', 'D5'],
                    'F': ['F2', 'F3', 'F4', 'F5']},
                   index=[2, 3, 4, 5])

df3 = pd.DataFrame({'D': ['D3', 'D4', 'D5'],
                    'G': ['G3', 'G4', 'G5']},
                   index=[3, 4, 5])

result = pd.concat([df1, df2, df3], axis=1, join='inner')

print(result)

Вывод:

D:\>python example.py
    A   B   C   D   B   D   F   D   G
3  A3  B3  C3  D3  B3  D3  F3  D3  G3

В этом руководстве примеров Python мы узнали, как внутреннее объединить два или более DataFrames с помощью функции конкатенации по оси.

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

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