使用NumPy出现以下错误:
>>> distance = 0.9014179933248182
>>> min_distance = np.array([0.71341723, 0.07322284])
>>> distance < min_distance
array([False, False])
这是正确的,但是当我尝试时:
>>> distance < min_distance.any()
True
这显然是错误的,因为'min_distance'中没有任何数字小于'distance'
这是怎么回事?我正在Google Colab的“ 1.17.3”版本上使用NumPy。
答案 0 :(得分:2)
虽然有一些小错误,但事实并非如此。请注意,min_distance.any()
返回一个布尔结果。因此,在此表达式中:
distance < min_distance.any()
您正在将浮点数与布尔值进行比较,不幸的是,由于错误喜剧,布尔值会起作用:
bool
是int
的子类True
等于1
例如
>>> 0.9 < True
True
>>> 1.1 < True
False
您想要的是什么
>>> (distance < min_distance).any()
False
答案 1 :(得分:2)
尝试(distance < min_distance).any()