Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将numpy数组与np.allclose()进行比较_Python_Python 3.x_Numpy - Fatal编程技术网

Python 将numpy数组与np.allclose()进行比较

Python 将numpy数组与np.allclose()进行比较,python,python-3.x,numpy,Python,Python 3.x,Numpy,我是Python新手。我无法理解以下代码的行为(我正在尝试为某些内容创建单元测试): 此代码打印: [0.5 0.88079708] [0.5 0.88079708] 0.8807970779778823 0.88079708 False True 为什么当我打印数组时,它们的值是相等的,但当我打印最后一项时,它们是不同的?如果值实际上不同,为什么等于2为真?如果值相同,为什么等于1为False “为什么当我打印数组时,它们的值是相等的,但之后我打印 他们的最后一项

我是Python新手。我无法理解以下代码的行为(我正在尝试为某些内容创建单元测试):

此代码打印:

[0.5        0.88079708]
[0.5        0.88079708]
0.8807970779778823
0.88079708
False
True
为什么当我打印数组时,它们的值是相等的,但当我打印最后一项时,它们是不同的?如果值实际上不同,为什么
等于2
?如果值相同,为什么
等于1
False

“为什么当我打印数组时,它们的值是相等的,但之后我打印 他们的最后一项不同吗?”

这是因为
numpy.ndarray
中有一个

“如果值实际上不同,为什么_equal2为真?”

根据的文档,它在元素方面进行比较:


绝对(a-b)好的,谢谢。当我将
atol
添加到调用中时,它起作用:
是\u equal2=np.allclose(result,expected\u result,rtol=0.00000000000000000000001,atol=0)
。我忽略了一个事实,
atol
有一个默认值。
[0.5        0.88079708]
[0.5        0.88079708]
0.8807970779778823
0.88079708
False
True