每个数组都有特定值时的总和

时间:2018-10-10 07:36:35

标签: python numpy

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])

我知道,使用这2个数组,您可以总结出此行代码中精确索引等于numpy的时间。

np.sum(x1 == y)

但是有一种方法可以在每次相同的索引等于每个数组上的特定值时进行求和,例如

np.sum(x1 == 1 && y == -1)

不幸的是,这行代码没有运行,但如果成功,则结果应为3。

2 个答案:

答案 0 :(得分:7)

您只需要使用一个&并添加一些括号即可:

np.sum((x1 == 1) & (y == -1))

结果是3。

答案 1 :(得分:0)

除了numpy中的a & b,您还可以使用logical_and,仅供参考。

np.sum(np.logical_and((x1 == 1), (y == -1)))