Python – Get the Columns Shared by Two Pandas DataFrames using Numpy


To get the columns shared by two DataFrames, use the intersect1d() method. This method is provided by numpy, so you need to import Numpy also with Pandas. Let us first import the required libraries −

import pandas as pd
import numpy as np

Create two DataFrames −

# creating dataframe1
dataFrame1 = pd.DataFrame({"Car": ['Bentley', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],"Cubic_Capacity": [2000, 1800, 1500, 2500, 2200, 3000],"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000],"Units_Sold": [ 100, 110, 150, 80, 200, 90]
})

# creating dataframe2
dataFrame2 = pd.DataFrame({"Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],"Units_Sold": [ 100, 110, 150, 80, 200, 90]
})

Get common columns using the numpy method intersect1d() −

res = np.intersect1d(dataFrame2.columns, dataFrame1.columns)

Example

Following is the code −

import pandas as pd
import numpy as np

# creating dataframe1
dataFrame1 = pd.DataFrame({"Car": ['Bentley', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],"Cubic_Capacity": [2000, 1800, 1500, 2500, 2200, 3000],"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000],"Units_Sold": [ 100, 110, 150, 80, 200, 90]
})

print"Dataframe1...\n",dataFrame1

# creating dataframe2
dataFrame2 = pd.DataFrame({"Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],"Units_Sold": [ 100, 110, 150, 80, 200, 90]
})

print"Dataframe2...\n",dataFrame2

# get common columns using intersect1d()
res = np.intersect1d(dataFrame2.columns, dataFrame1.columns)

print"\nCommon columns...\n",res

Output

This will produce the following output −

Dataframe1...
        Car   Cubic_Capacity   Reg_Price   Units_Sold
0   Bentley             2000        7000          100
1     Lexus             1800        1500          110
2     Tesla             1500        5000          150
3   Mustang             2500        8000           80
4  Mercedes             2200        9000          200
5    Jaguar             3000        6000           90
Dataframe2...
        Car   Units_Sold
0       BMW          100
1     Lexus          110
2     Tesla          150
3   Mustang           80
4  Mercedes          200
5    Jaguar           90

Common columns...
['Car' 'Units_Sold']

Updated on: 22-Sep-2021

165 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements