我有两个3D numpy数组,想要找出它们之间的差异。
>>>A.dtype
dtype('uint32')
>>>B.dtype
dtype('uint32')
>>>A.shape
(86, 50, 108)
>>>B.shape
(86, 50, 108)
>>>A.min()
0
>>>B.min()
0
>>>A.max()
89478487
>>>B.max()
89115767
现在,如果我们执行
A - B
。>>> diff = abs( A-B );
>>> diff.min()
0
>>> diff.max()
4294967292
考虑到两个矩阵的min
和max
值,我们不能将4294967292
作为差值矩阵的最大值。我还在Matlab中进行了类似的操作,差值diff
和最大值diff.max()
是一致的。那么A-B
操作到底是什么呢?我的理解是,对数组进行加、减、乘、除操作的默认行为是逐元素操作,但这里发生了一些有趣的事情。