Intersection of Two data frames in Pandas can be easily calculated by using the pre-defined function merge()
. This function takes both the data frames as argument and returns the intersection between them.
Syntax:
pd.merge(df1, df2, how)
Example 1:
import pandas as pd
# Creating Data frames df1 = { 'A' : [ 1 , 2 , 3 , 4 ],
'B' : [ 'abc' , 'def' , 'efg' , 'ghi' ]}
df2 = { 'A' : [ 1 , 2 , 3 , 4 ],
'B' : [ 'Geeks' , 'For' , 'efg' , 'ghi' ],
'C' :[ 'Nikhil' , 'Rishabh' , 'Rahul' , 'Shubham' ]}
d1 = pd.DataFrame(df1)
d2 = pd.DataFrame(df2)
# Calling merge() function int_df = pd.merge(d1, d2, how = 'inner' , on = [ 'A' , 'B' ])
print (int_df)
|
Output:
A B C 0 3 efg Rahul 1 4 ghi Shubham
Example 2:
import pandas as pd
# Creating Data frames df1 = { 'A' : [ 1 , 2 , 3 , 4 ],
'B' : [ 'Geeks' , 'For' , 'efg' , 'ghi' ]}
df2 = { 'A' : [ 1 , 2 , 3 , 4 ],
'B' : [ 'Geeks' , 'For' , 'abc' , 'cde' ],
'C' :[ 'Nikhil' , 'Rishabh' , 'Rahul' , 'Shubham' ]}
d1 = pd.DataFrame(df1)
d2 = pd.DataFrame(df2)
# Calling merge() function int_df = pd.merge(d1, d2, how = 'inner' , on = [ 'A' , 'B' ])
print (int_df)
|
Output:
A B C 0 1 Geeks Nikhil 1 2 For Rishabh