Computer >> Máy Tính >  >> Lập trình >> Python

Python - Lấy các cột được chia sẻ bởi Hai gấu trúc DataFrames bằng cách sử dụng Numpy

Để lấy các cột được chia sẻ bởi hai DataFrame, hãy sử dụng phương thức interect1d (). Phương thức này được cung cấp bởi numpy, vì vậy bạn cần nhập Numpy cùng với Pandas. Trước tiên, hãy để chúng tôi nhập các thư viện được yêu cầu -

import pandas as pd
import numpy as np

Tạo hai 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]
})

Nhận các cột chung bằng cách sử dụng phương thức numpy inteect1d () -

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

Ví dụ

Sau đây là mã -

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

Đầu ra

Điều này sẽ tạo ra kết quả sau -

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']