Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Pandas - หาแถวที่ไม่เหมือนกันระหว่างสอง DataFrame


เพื่อหาแถวที่ไม่เหมือนกันระหว่างสอง DataFrame ใช้เมธอด concat() มา import ไลบรารีที่จำเป็นพร้อมอีเลียส -

import pandas as pd

สร้าง DataFrame1 ด้วยสองคอลัมน์ -

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

สร้าง DataFrame2 ด้วยสองคอลัมน์ -

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

หาแถวที่ไม่เหมือนกันระหว่างสอง DataFrame และ concat ผลลัพธ์ -

print("\nUncommon rows between two DataFrames...\n", pd.concat([dataFrame1, dataFrame2]).drop_duplicates(keep=False))

ตัวอย่าง

โค้ดต่อไปนี้ -

import pandas as pd
# Create DataFrame1
dataFrame1 = pd.DataFrame(
    {
        "Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],
        "Reg_Price": [1000, 1500, 1100, 800, 1100, 900]
    }
)
print("DataFrame1 ...\n", dataFrame1)
# Create DataFrame2
dataFrame2 = pd.DataFrame(
    {
        "Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],
        "Reg_Price": [1000, 1300, 1000, 800, 1100, 800]
    }
)
print("\nDataFrame2 ...\n", dataFrame2)
# finding uncommon rows between two DataFrames and concat the result
print("\nUncommon rows between two DataFrames...\n", pd.concat([dataFrame1, dataFrame2]).drop_duplicates(keep=False))

ผลลัพธ์

จะผลิตผลลัพธ์ดังนี้ -

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