Contents
Concat Pandas DataFrames with Inner Join
You can inner join two DataFrames during concatenation which results in the intersection of the two DataFrames.
The syntax of concat() function to inner join is given below.
pd.concat([df1, df2], axis=1, join='inner')
Run Inner join results in a DataFrame that has intersection along the given axis to the concatenate function.
Example 1: Inner Join DataFrames
In this example, we shall take two DataFrames and find their inner join along axis=1.
Python Program
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)
Run Output
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
Example 2: Inner Join DataFrames
In this example, we shall try the inner join of DataFrames along a different axis from that of the previous example.
Python Program
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)
Run Output
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
Example 3: Inner Join more than two DataFrames using concat()
In this example, we shall take more than two DataFrames, which is three, and find the inner join of these DataFrames along an axis.
Python Program
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)
Run Output
D:\>python example.py
A B C D B D F D G
3 A3 B3 C3 D3 B3 D3 F3 D3 G3
Summary
In this tutorial of Python Examples, we learned how to inner join two or more DataFrames using concatenate function along an axis.