如何比较 Python 中两个数据框中的两列值?

How to compare two columns values in two dataframes in Python?

我有两个数据框,我在第二个数据框中创建了一个“检查”列来检查总索赔列中的值是否相等。这是我的两个数据框:

数据帧 1

数据帧 2

我用来创建比较两个数据框之间的总索赔的“检查”列的代码是:

reported_claims['Check'] =  np.where(reported_claims['Total Claims'].reset_index(drop=True) == df['Total Claims'].reset_index(drop=True) , 'TRUE', 'FALSE')

我注意到两个数据框中的第 7 个值都是 31.32,但检查列显示 False。我只是想知道为什么它说 False 以及我将如何解决这个问题?非常感谢您的宝贵时间!

问题是通过比较两个浮点数产生的。大多数编程语言(包括 python)的一般规则是您永远无法检查两个浮点数是否 完全相等 。您必须改为检查这两个值是否接近。 您可以使用 np.isclose(). Check 来参考如何使用它。

使用合并命令连接两个数据框并添加校验列来比较两列

df = pd.merge(left=Dataframe1, right=Dataframe2, left_on='month', right_on='month')