我有以下数据框:
actual_credit min_required_credit
0 0.3 0.4
1 0.5 0.2
2 0.4 0.4
3 0.2 0.3
我需要添加一列,指示actual_credit >= min_required_credit。结果将是:
actual_credit min_required_credit result
0 0.3 0.4 False
1 0.5 0.2 True
2 0.4 0.4 True
3 0.1 0.3 False
我正在做以下事情:
df['result'] = abs(df['actual_credit']) >= abs(df['min_required_credit'])
然而,第三行(0.4 和 0.4)不断导致 False。经过在不同地方研究这个问题后,包括:在 Python 中比较浮点数是否几乎相等的最佳方法是什么?我仍然无法让它发挥作用。只要两列具有相同的值,结果就是 False,这是不正确的。
我正在使用 python 3.3
由于浮动比较不精确,您可以or
你与np.isclose, isclose
采用相对和绝对容差参数,因此以下内容应该有效:
df['result'] = df['actual_credit'].ge(df['min_required_credit']) | np.isclose(df['actual_credit'], df['min_required_credit'])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)