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

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


เพื่อหาแถวที่เหมือนกันระหว่างสอง DataFrame ใช้เมธอด merge() มาสร้าง DataFrame1 ด้วยสองคอลัมน์ -

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

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

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

เพื่อหาแถวที่เหมือนกัน -

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

ตัวอย่าง

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

import pandas as pd
# Create DataFrame1
dataFrame1 = pd.DataFrame(
    {
        "Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],
        "Units": [100, 150, 110, 80, 110, 90]
    }
)
print("DataFrame1 ...\n", dataFrame1)
# Create DataFrame2
dataFrame2 = pd.DataFrame(
    {
        "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
        "Units": [100, 250, 150, 80, 130, 90]
    }
)
print("\nDataFrame2 ...\n", dataFrame2)
# check for equality
print("\nAre both the DataFrames equal? ", dataFrame1.equals(dataFrame2))
# finding common rows between two DataFrames
resData = dataFrame1.merge(dataFrame2, how='inner', indicator=False)
print("\nCommon rows between two DataFrames...\n", resData)

ผลลัพธ์

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

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