gpt4 book ai didi

python - 比较多个 numpy 数组

转载 作者:太空狗 更新时间:2023-10-29 22:21:31 25 4
gpt4 key购买 nike

我应该如何比较 2 个以上的 numpy 数组?

import numpy 
a = numpy.zeros((512,512,3),dtype=numpy.uint8)
b = numpy.zeros((512,512,3),dtype=numpy.uint8)
c = numpy.zeros((512,512,3),dtype=numpy.uint8)
if (a==b==c).all():
pass

这给出了一个 valueError,我对一次比较两个数组不感兴趣。

最佳答案

对于三个数组,您可以检查第一个和第二个数组以及第二个和第三个数组之间的对应元素是否相等,从而为我们提供两个 bool 标量,最后查看这两个标量是否为 True 对于最终的标量输出,像这样 -

np.logical_and( (a==b).all(), (b==c).all() )

对于更多数量的数组,您可以堆叠它们,沿堆叠轴获得微分,并检查这些微分的所有是否等于零。如果是,则我们在所有输入数组之间具有相等性,否则不相等。实现看起来像这样 -

L = [a,b,c]    # List of input arrays
out = (np.diff(np.vstack(L).reshape(len(L),-1),axis=0)==0).all()

关于python - 比较多个 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37777529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com