Để lấy cột chung của hai DataFrame, sử dụng phương thức intersect1d(). Phương thức này do numpy cung cấp, nên cần nhập Numpy cùng Pandas. Trước tiên, nhập các thư viện cần thiết:
import pandas as pd import numpy as np
Tạo hai DataFrame:
# tạo 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]})
# tạo dataframe2
dataFrame2 = pd.DataFrame({"Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
"Units_Sold": [100, 110, 150, 80, 200, 90]})
Lấy cột chung dùng phương thức intersect1d() của numpy:
res = np.intersect1d(dataFrame2.columns, dataFrame1.columns)
Ví dụ hoàn chỉnh
Mã nguồn đầy đủ:
import pandas as pd
import numpy as np
# tạo 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)
# tạo dataframe2
dataFrame2 = pd.DataFrame({"Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
"Units_Sold": [100, 110, 150, 80, 200, 90]})
print("Dataframe2...\n", dataFrame2)
# lấy cột chung dùng intersect1d()
res = np.intersect1d(dataFrame2.columns, dataFrame1.columns)
print("\nCột chung...\n", res)
Kết quả
Chương trình 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']