Để tìm sự khác biệt giữa hai DataFrame, bạn cần kiểm tra sự bằng nhau của chúng. Cũng nên kiểm tra sự bằng nhau của các cột.
Tạo DataFrame
# DataFrame1
dataFrame1 = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
})
# DataFrame2
dataFrame2 = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
})
Kiểm tra sự bằng nhau
Kiểm tra cột cụ thể "Units":
dataFrame2['Units'].equals(dataFrame1['Units'])
Kiểm tra cả hai DataFrame:
dataFrame1.equals(dataFrame2)
Ví dụ hoàn chỉnh
import pandas as pd
# Tạo DataFrame1
dataFrame1 = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', '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, 150, 110, 80, 110, 90]
})
print("\nDataFrame2 ...\n", dataFrame2)
# Kiểm tra cột Units
print("\nCột Units của hai DataFrame có giống nhau? ", dataFrame2['Units'].equals(dataFrame1['Units']))
# Kiểm tra toàn bộ DataFrame
print("\nHai DataFrame có bằng nhau? ", dataFrame1.equals(dataFrame2))
Kết quả đầu ra
DataFrame1 ...
Car Units
0 BMW 100
1 Lexus 150
2 Audi 110
3 Mustang 80
4 Bentley 110
5 Jaguar 90
DataFrame2 ...
Car Units
0 BMW 100
1 Lexus 150
2 Audi 110
3 Mustang 80
4 Bentley 110
5 Jaguar 90
Cột Units của hai DataFrame có giống nhau? True
Hai DataFrame có bằng nhau? True
Mẹo: Để tìm các hàng khác biệt, có thể dùng df1.compare(df2) (Pandas 1.1+) hoặc pd.concat([df1, df2]).drop_duplicates(keep=False).