แนวคิด
เมธอด DataFrame.equals(other) ตรวจสอบว่า DataFrame สองตัวมีรูปร่าง (shape), ดัชนี (index), คอลัมน์ (columns), และค่าในทุกเซลล์เหมือนกันทุกประการ คืนค่า True หรือ False
ตัวอย่างโค้ด
import pandas as pd
# DataFrame แรก
df1 = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
})
# DataFrame ที่สอง (ต่างกันที่คอลัมน์ Reg_Price และค่า Mercedes vs Bentley)
df2 = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Mercedes', 'Jaguar'],
"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
})
print("DataFrame1:\n", df1)
print("\nDataFrame2:\n", df2)
# ตรวจสอบความเท่ากัน
are_equal = df1.equals(df2)
print(f"\nDataFrame ทั้งสองเท่ากันหรือไม่? {are_equal}")
ผลลัพธ์
DataFrame1:
Car Units
0 BMW 100
1 Lexus 150
2 Audi 110
3 Mustang 80
4 Bentley 110
5 Jaguar 90
DataFrame2:
Car Reg_Price
0 BMW 7000
1 Lexus 1500
2 Audi 5000
3 Mustang 8000
4 Mercedes 9000
5 Jaguar 6000
DataFrame ทั้งสองเท่ากันหรือไม่? False
การตรวจสอบเฉพาะคอลัมน์
สามารถใช้ Series.equals() เปรียบเทียบคอลัมน์เฉพาะ:
# ถ้าทั้งสองมีคอลัมน์ 'Units' เหมือนกัน
df1['Units'].equals(df2['Units']) # False เพราะ df2 ไม่มีคอลัมน์ Units
ความแตกต่างจาก ==
df1 == df2คืน DataFrame Boolean (element-wise comparison) และ NaN == NaN เป็น Falsedf1.equals(df2)คืนค่า True/False เดียว และถือ NaN ในตำแหน่งเดียวกันว่าเท่ากัน