2024-04-27 02:50:28 发布
网友
我尝试使用Python计算两个文本文件之间的差异,并打印第一个值和它们开始偏离的位置。在
我不知道如何使用loadtxt:
loadtxt
import numpy as np a = np.loadtxt("path/to/file", float) b = np.loadtxt("path/to/file2", float) while np.absolute(a - b) !=0: 1 2 3 ...
不知道怎么完成这个?开始正确吗?在
你可以利用
idx = np.where(np.abs(a-b) > 1e-6)[0] firstidx = idx[0]
要找到第一个索引,其中a和b中的值相差超过某个名义值,如1e-6:
a
b
1e-6
请注意,在处理float时,很少需要与equality进行比较,比如
np.abs(a-b) == 0
或者相反
np.abs(a-b) != 0
因为浮点表示的不精确性会导致a和{}略有不同,即使它们的值应该完全相同,如果它们的值以无限精度表示的话。在
所以用一些像
np.abs(a-b) > 1e-6
相反。(请注意,您必须选择公差等级,例如1e-6)。在
下面是一个simple example演示使用相等比较浮点数的陷阱:
In [10]: 1.2-1.0 == 0.2 Out[10]: False
你可以利用
要找到第一个索引,其中
^{pr2}$a
和b
中的值相差超过某个名义值,如1e-6
:请注意,在处理float时,很少需要与equality进行比较,比如
或者相反
因为浮点表示的不精确性会导致}略有不同,即使它们的值应该完全相同,如果它们的值以无限精度表示的话。在
a
和{所以用一些像
相反。(请注意,您必须选择公差等级,例如1e-6)。在
下面是一个simple example演示使用相等比较浮点数的陷阱:
相关问题 更多 >
编程相关推荐