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

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


Để tìm các hàng không chung (uncommon rows) giữa hai DataFrame, sử dụng phương thức concat(). Trước tiên nhập thư viện cần thiết với bí danh:

import pandas as pd

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": [1000, 1300, 1000, 800, 1100, 800]
})

Tìm hàng không chung giữa hai DataFrame và nối kết quả:

print("\nUncommon rows between two DataFrames...\n", pd.concat([dataFrame1, dataFrame2]).drop_duplicates(keep=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": [1000, 1300, 1000, 800, 1100, 800]
})
print("\nDataFrame2 ...\n", dataFrame2)
# tìm hàng không chung giữa hai DataFrames và nối kết quả
print("\nUncommon rows between two DataFrames...\n", pd.concat([dataFrame1, dataFrame2]).drop_duplicates(keep=False))

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       1000
1  Lexus       1300
2   Audi       1000
3  Tesla        800
4 Bentley       1100
5 Jaguar        800
Uncommon rows between two DataFrames...
    Car  Reg_Price
1  Lexus       1500
2   Audi       1100
5 Jaguar        900
1  Lexus       1300
2   Audi       1000
5 Jaguar        800