对于相同的数学运算,结果不同

时间:2017-09-29 22:12:57

标签: python numpy

我正在使用Python3和numpy,我正在做以下事情:

diff1 = np.abs(self.trainX - sample_repeated)
diff2 = np.abs(sample_repeated - self.trainX)
print("diff1 equals diff2?")
if(np.array_equal(diff1,diff2)): 
    print("Yes")
else:
    print("No")

我希望diff1等于diff2。知道为什么代码总是打印“否”?所有数组都具有相同的相同(self.trainX,sample_repeated,diff1和diff2)。

注意:numpy docs报告说array_equal是“如果两个数组具有相同的形状和元素,则为True,否则为False。”

解决:你的数组是uint8,导致溢出。你必须在

之前将它们转换为int

1 个答案:

答案 0 :(得分:0)

解决:你的数组是uint8,导致溢出。你必须在

之前将它们转换为int