x1 = np.array([0, 1, 0, 1, 0, 1, 0, 1, 1, 1])
y = np.array([-1, -1, -1, -1, -1, 1, 1, 1, 1, -1])
我知道使用这两个数组,您可以在这行代码中汇总精确指示与 numpy 相等的次数。
np.sum(x1 == y)
但是有没有办法在每次相同的索引等于每个数组上的特定值时进行汇总,例如
np.sum(x1 == 1 && y == -1)
不幸的是,这行代码没有运行,但如果它有效,结果应该是 3。
您只需要使用单个&
并添加一些括号:
np.sum((x1 == 1) & (y == -1))
结果,这给出了 3
。除了 numpy 中的a & b
之外,您还可以使用logical_and
,仅供参考。
np.sum(np.logical_and((x1 == 1), (y == -1)))