首页 > 解决方案 > 计算量度中不需要的“Inf”值

问题描述

我在 pandas 数据框中有 2 个变量,它们用于计算(Var1 / Var2),这些值由浮点值和缺失值(我选择强制为 0)组成。在我的最终计算中,我收到了“inf”值和 NA 值。NA 值是预期的,但我如何得出可用数字而不是“inf”值?

当 VAR1 = float 和 Var2 = 0 时会出现一些“inf”值,而当 VAR1 和 VAR2 都是浮点数时会出现其他值。

我最初的方法是在计算之前将浮点数舍入到 2 个有效数字,但我仍然收到了 inf 值。

标签: pythonpandasdataframedata-cleaninginf

解决方案


你可能得到,inf因为你被零除。例如,如果var1 = 5var2 = 0,那么您正在计算5 / 0

在纯 Python 中,这会返回 a ZeroDivisionError,但在许多数据库中,它们会避免抛出此错误,因为它会使您的代码崩溃。相反,它们输出inf或“无穷大”。

var1var2都是浮点数时,它可能var2非常小。这将导致var1 / var2非常大。在某一点上,Python 不会让数字变得更大,而是简单地将它们表示为inf.

舍入没有帮助,因为如果var2 = 0,那么它会舍入到 0,如果var2非常小,它也会舍入到 0。如前所述,除以零会导致inf.


推荐阅读