Python Pandas - 查找两个数据框之间的差异


如需找出两个 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]
   }
)

检查特定列“Units”的相等性 −

dataFrame2['Units'].equals(dataFrame1['Units'])

检查两个 DataFrame 的相等性 −

Are both the DataFrames equal?",dataFrame1.equals(dataFrame2)

示例

以下为代码 −

import pandas as pd

# Create DataFrame1
dataFrame1 = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', '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, 150, 110, 80, 110, 90]
   }
)

print"\nDataFrame2 ...\n",dataFrame2


# check for specific column Units equality
print"\nBoth the DataFrames have similar Units column? ",dataFrame2['Units'].equals(dataFrame1['Units'])

# check for equality
print"\nAre both the DataFrames equal? ",dataFrame1.equals(dataFrame2)

输出

这将产生以下输出 −

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

Both the DataFrames have similar Units column? True

Are both the DataFrames equal? True

更新时间:2021 年 9 月 14 日

717 浏览次数

开启您的 职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.