【问题标题】:How to compare two columns values in two dataframes in Python?如何在 Python 中比较两个数据框中的两列值?
【发布时间】:2022-01-10 21:22:55
【问题描述】:

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

数据框 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 pandas dataframe compare


    【解决方案1】:

    通过比较两个浮点数会出现问题。大多数编程语言(包括 python)的一般规则是,您永远无法检查两个浮点数是否完全相等。您必须改为检查这两个值是否接近。 您可以使用np.isclose() 这样做。查看this answer 以获取有关如何使用它的参考。

    【讨论】:

      【解决方案2】:

      使用合并命令连接两个数据框并添加检查列以比较两列

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-23
        • 1970-01-01
        • 2016-04-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多