Home » How to Do an Inner Join in Pandas (With Example)

How to Do an Inner Join in Pandas (With Example)

by Erma Khan

You can use the following basic syntax to perform an inner join in pandas:

import pandas as pd

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

The following example shows how to use this syntax in practice.

Example: How to Do Inner Join in Pandas

Suppose we have the following two pandas DataFrames that contains information about various basketball teams:

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

We can use the following code to perform an inner join, which only keeps the rows where the team name appears in both DataFrames:

#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

The only rows contained in the merged DataFrame are the ones where the team name appears in both DataFrames.

Notice that two teams were dropped (teams E and F) because they didn’t appear in both DataFrames.

Note that you can also use pd.merge() with the following syntax to return the exact same result:

#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

Notice that this merged DataFrame matches the one from the previous example.

Note: You can find the complete documentation for the merge function here.

Additional Resources

The following tutorials explain how to perform other common operations in pandas:

How to Do a Left Join in Pandas
How to Merge Pandas DataFrames on Multiple Columns
Pandas Join vs. Merge: What’s the Difference?

Related Posts