比较两个Pandas数据框的3种简单方法

'3 simple methods for comparing two Pandas dataframes.

数据科学

快速学习如何在两个pandas DataFrames之间找到共同和不常见的行。

Photo by Meghan Hessler on Unsplash

这是一个简单的任务 – 当您使用pandas中的内置方法时。

在Python Pandas中,DataFrame是最简单的数据结构,您可以将数据以表格形式即行-列形式存储,并对其进行操作以获得有用的见解。

在处理真实场景时,数据分析师的常见任务之一是查看数据发生了什么变化。您可以通过比较两组数据来实现这一点。

最近,我开发了一个自动化的计算机视觉系统,该系统从10个不同时间的设备收集数据,并将其存储在2个pandas DataFrames中。为了了解系统发生了什么变化,我比较了这两个DataFrames,这就是本文的灵感来源。

您可以在数据验证、数据更改检测、测试和调试中最常见地找到此类DataFrame比较应用程序。因此,了解如何快速轻松地比较两个数据集非常重要。

因此,在本文中,我将解释三种最佳、最简单、最可靠和最快速的方法来比较pandas中的两个DataFrames。您可以在以下索引中快速了解故事概要。

· 使用equals()比较Pandas DataFrames· 使用concat()比较Pandas DataFrames· 使用compare()比较Pandas DataFrames

让我们开始吧!

在开始比较两个DataFrames的三种方法之前,让我们创建两个具有微小差异的DataFrames。

import pandas as pd
df = pd.DataFrame({"device_id": ['D475', 'D175', 'D200', 'D375', 'M475', 'M400', 'M250', 'A150'],
                   "device_temperature": [35.4, 45.2, 59.3, 49.3, 32.2, 35.7, 36.8, 34.9],
                   "device_status": ["Inactive", "Active", "Active", "Active", "Active", "Inactive", "Active", "Active"]})
df1 = pd.DataFrame({"device_id": ['D475', 'D175', 'D200', 'D375', 'M475', 'M400', 'M250', 'A150'],
                   "device_temperature": [39.4, 45.2, 29.3, 49.3, 32.2, 35.7, 36.8, 24.9]…