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


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?

Leave a Reply

Your email address will not be published. Required fields are marked *