1

我需要用 0 过滤所有值。数据类型是numpy.float64. 我试过了numpy.float64(0.0001),但是下面的代码有什么方法可以给我一个True吗?

numpy.float64(0) == 0.0

4

1 回答 1

2

由于舍入误差,浮点值可能不正确。有一个功能numpy.isclose可用于检查一定容差内的等效性。

import numpy as np

np.float64(0) == 0 # for me
>>> True

# however a small, almost zero, number gives False
np.float64(1e-19) == 0
>>> False

np.isclose(np.float64(0), 0)
>>> True

np.isclose(np.float64(1e-19), 0)
>>> True
于 2020-04-28T15:42:32.073 回答