Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python Pandas – Tìm hàng chung giữa hai DataFrame với merge()


Để tìm các hàng chung giữa hai DataFrame với merge(), sử dụng tham số how là inner vì nó hoạt động như SQL Inner Join và đây là điều chúng ta muốn đạt được.

Hãy tạo DataFrame1 với hai cột:

dataFrame1 = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],
    "Reg_Price": [1000, 1500, 1100, 800, 1100, 900]
})

Tạo DataFrame2 với hai cột:

dataFrame2 = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],
    "Reg_Price": [1200, 1500, 1000, 800, 1100, 1000]
})

Hãy tìm các hàng chung:

dataFrame1.merge(dataFrame2, how='inner', indicator=False)

Ví dụ

Dưới đây là mã:

import pandas as pd
# Tạo DataFrame1
dataFrame1 = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],
    "Reg_Price": [1000, 1500, 1100, 800, 1100, 900]
})
print("DataFrame1 ...\n", dataFrame1)
# Tạo DataFrame2
dataFrame2 = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],
    "Reg_Price": [1200, 1500, 1000, 800, 1100, 1000]
})
print("\nDataFrame2 ...\n", dataFrame2)
# tìm hàng chung giữa hai DataFrames
resData = dataFrame1.merge(dataFrame2, how='inner', indicator=False)
print("\nCommon rows between two DataFrames...\n", resData)

Kết quả

Điều này sẽ tạo ra đầu ra sau:

DataFrame1 ...
    Car  Reg_Price
0   BMW       1000
1  Lexus       1500
2   Audi       1100
3  Tesla        800
4 Bentley       1100
5 Jaguar        900
DataFrame2 ...
    Car  Reg_Price
0   BMW       1200
1  Lexus       1500
2   Audi       1000
3  Tesla        800
4 Bentley       1100
5 Jaguar       1000
Common rows between two DataFrames...
    Car  Reg_Price
0  Lexus       1500
1  Tesla        800
2 Bentley       1100