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

Python Pandas – Tìm các hàng chung giữa hai DataFrame


Để tìm các hàng chung giữa hai DataFrame, sử dụng phương thức merge(). Hãy tạo DataFrame1 với hai cột:

dataFrame1 = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],
    "Units": [100, 150, 110, 80, 110, 90]
})

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

dataFrame2 = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
    "Units": [100, 250, 150, 80, 130, 90]
})

Để 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'],
    "Units": [100, 150, 110, 80, 110, 90]
})
print("DataFrame1 ...\n", dataFrame1)
# Tạo DataFrame2
dataFrame2 = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
    "Units": [100, 250, 150, 80, 130, 90]
})
print("\nDataFrame2 ...\n", dataFrame2)
# kiểm tra sự bằng nhau
print("\nAre both the DataFrames equal? ", dataFrame1.equals(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  Units
0   BMW    100
1  Lexus    150
2   Audi    110
3  Tesla     80
4 Bentley    110
5 Jaguar     90
DataFrame2 ...
    Car  Units
0   BMW    100
1  Lexus    250
2   Audi    150
3 Mustang     80
4 Bentley    130
5 Jaguar     90
Are both the DataFrames equal? False
Common rows between two DataFrames...
    Car  Units
0   BMW    100
1 Jaguar     90