Python 查找并计算两个数组之间的公共1(TRUE)和0(FALSE)
我有一个数组,Python 查找并计算两个数组之间的公共1(TRUE)和0(FALSE),python,python-3.x,numpy,Python,Python 3.x,Numpy,我有一个数组,a,需要与它各自的基本事实进行比较,gt。例如,假设这两个数组是: a = np.array([[1, 1, 1], [1, 1, 0]]) array([[1, 1, 1], [1, 1, 0]]) gt = np.array([[0, 0, 1], [1, 0, 0]]) array([[0, 0, 1], [1, 0, 0]]) 我想数一数1是如何被正确预测的,以及有多少个0 我可以通过common\uu=a==gt确定公共元素: arra
a
,需要与它各自的基本事实进行比较,gt
。例如,假设这两个数组是:
a = np.array([[1, 1, 1], [1, 1, 0]])
array([[1, 1, 1],
[1, 1, 0]])
gt = np.array([[0, 0, 1], [1, 0, 0]])
array([[0, 0, 1],
[1, 0, 0]])
我想数一数1是如何被正确预测的,以及有多少个0
我可以通过common\uu=a==gt
确定公共元素:
array([[False, False, True],
[ True, False, True]])
这不是我想要的,它只是给出了所有的公共元素,而这并不是我想要的。如何分别确定公共高点和公共低点?您需要两个掩码,一个用于检查
a
(或b
)中的哪些值具有特定值,另一个用于检查两个数组上的哪些值匹配:
m1=a==1
m2=a==gt
ones=(m1&m2).sum()
#2
zeros=(m2&~m1).sum()
#1
您需要两个掩码,一个用于检查
a
(或b
)中的哪些值具有特定值,另一个用于检查两个数组上的哪些值匹配:
m1=a==1
m2=a==gt
ones=(m1&m2).sum()
#2
zeros=(m2&~m1).sum()
#1
((1-a)*(1-gt)).sum()
给你普通的0和(a*gt)。sum()
给你普通的1。((1-a)*(1-gt)).sum()
给你普通的0和(a*gt)。sum()
给你普通的1