gpt4 book ai didi

python - 比较 Pandas 列中的 float

转载 作者:太空狗 更新时间:2023-10-29 17:05:14 24 4
gpt4 key购买 nike

我有以下数据框:

       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'])

但是第 3 行(0.4 和 0.4)总是导致 False。在各个地方研究了这个问题后,包括:What is the best way to compare floats for almost-equality in Python?我仍然无法让它工作。每当两列具有相同的值时,结果为 False,这是不正确的。

我正在使用 python 3.3

最佳答案

由于 float 比较不精确,您可以np.isclose 进行比较, isclose 采用相对和绝对公差参数,因此以下应该有效:

df['result'] = df['actual_credit'].ge(df['min_required_credit']) | np.isclose(df['actual_credit'], df['min_required_credit'])

关于python - 比较 Pandas 列中的 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33626443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com